xen/conring: Write to console ring even if console lock is busted
authorAndrew Cooper <andrew.cooper3@citrix.com>
Tue, 6 Aug 2013 15:45:00 +0000 (17:45 +0200)
committerJan Beulich <jbeulich@suse.com>
Tue, 6 Aug 2013 15:45:00 +0000 (17:45 +0200)
commit66450c1d1ab3c4480bbba949113b95d1ab6a943a
tree5dafbaacfdc31dc0f6c1f52309d7e30f3fade622
parentcc90bf1894daf9f97791495e2256e7e342e25704
xen/conring: Write to console ring even if console lock is busted

console_lock_busted gets set when an NMI/MCE/Double Fault handler decides to
bring Xen down in an emergency.  conring_puts() cannot block and does
not have problematic interactions with the console_lock.

Therefore, choosing to not put the string into the console ring simply means
that the kexec environment cant find any panic() message caused by an IST
interrupt, which is unhelpful for debugging purposes.

In the case that two pcpus fight with console_force_unlock(), having slightly
garbled strings in the console ring is far more useful than having nothing at
all.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Matt Wilson <msw@amazon.com>
Acked-by: Keir Fraser <keir@xen.org>
xen/drivers/char/console.c