|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 2/2] xen/conring: Write to console ring even if console lock is busted.
On Wed, Jul 31, 2013 at 03:22:52PM +0100, Andrew Cooper wrote:
> 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>
> CC: Keir Fraser <keir@xxxxxxx>
> CC: Jan Beulich <jbeulich@xxxxxxxx>
> CC: Tim Deegan <tim@xxxxxxx>
> ---
> xen/drivers/char/console.c | 5 ++---
> 1 file 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)
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |