|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen master] xen/conring: Write to console ring even if console lock is busted
commit 66450c1d1ab3c4480bbba949113b95d1ab6a943a
Author: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
AuthorDate: Tue Aug 6 17:45:00 2013 +0200
Commit: Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Tue Aug 6 17:45:00 2013 +0200
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@xxxxxxxxxx>
Acked-by: Matt Wilson <msw@xxxxxxxxxx>
Acked-by: Keir Fraser <keir@xxxxxxx>
---
xen/drivers/char/console.c | 5 ++---
1 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
index 45b81b3..8ac32e4 100644
--- a/xen/drivers/char/console.c
+++ b/xen/drivers/char/console.c
@@ -465,11 +465,10 @@ static void __putstr(const char *str)
sercon_puts(str);
video_puts(str);
+ conring_puts(str);
+
if ( !console_locks_busted )
- {
- conring_puts(str);
tasklet_schedule(¬ify_dom0_con_ring_tasklet);
- }
}
static int printk_prefix_check(char *p, char **pp)
--
generated by git-patchbot for /home/xen/git/xen.git#master
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |