Re: [PATCH] x86, add hypervisor name to dump_stack()

From: Prarit Bhargava
Date: Wed Oct 24 2012 - 08:15:17 EST




On 10/24/2012 05:49 AM, Ingo Molnar wrote:
>
> * Prarit Bhargava <prarit@xxxxxxxxxx> wrote:
>
>> Debugging crash, panics, stack trace WARN_ONs, etc., from both virtual and
>> bare-metal boots can get difficult very quickly. While there are ways to
>> decipher the output and determine if the output is from a virtual guest,
>> the in-kernel hypervisors now have a single registration point and set
>> x86_hyper. We can use this to output a single extra line on virtual
>> machines that indicates the hypervisor type.
>>
>> Signed-off-by: Prarit Bhargava <prarit@xxxxxxxxxx>
>> Cc: Avi Kivity <avi@xxxxxxxxxx>
>> Cc: Gleb Natapov <gleb@xxxxxxxxxx>
>> Cc: Alex Williamson <alex.williamson@xxxxxxxxxx>
>> Cc: Marcelo Tostatti <mtosatti@xxxxxxxxxx>
>> Cc: Ingo Molnar <mingo@xxxxxxxxxx>
>> Cc: kvm@xxxxxxxxxxxxxxx
>> Cc: x86@xxxxxxxxxx
>> ---
>> arch/x86/kernel/dumpstack.c | 3 +++
>> 1 file changed, 3 insertions(+)
>>
>> diff --git a/arch/x86/kernel/dumpstack.c b/arch/x86/kernel/dumpstack.c
>> index ae42418b..75a635e 100644
>> --- a/arch/x86/kernel/dumpstack.c
>> +++ b/arch/x86/kernel/dumpstack.c
>> @@ -17,6 +17,7 @@
>> #include <linux/sysfs.h>
>>
>> #include <asm/stacktrace.h>
>> +#include <asm/hypervisor.h>
>>
>>
>> int panic_on_unrecovered_nmi;
>> @@ -193,6 +194,8 @@ void dump_stack(void)
>> init_utsname()->release,
>> (int)strcspn(init_utsname()->version, " "),
>> init_utsname()->version);
>> + if (x86_hyper && x86_hyper->name)
>> + printk("Hypervisor: %s\n", x86_hyper->name);
>> show_trace(NULL, NULL, &stack, bp);
>
> Looks useful, but please don't waste a full new line on it but
> embedd it in the already existing status line that prints
> details like release and version.

Ingo, I thought about doing that but since x86_hyper can be NULL (... maybe it
should initialized to "Bare-metal" or "No Hypervisor"?) I didn't want to break
up the printk line. I'll look into doing it a different way...

P.

>
> Thanks,
>
> Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/