Re: [PATCH -rt 1/4] x86_64: send NMI after nmi_show_regs on

From: Hiroshi Shimamoto
Date: Mon Apr 28 2008 - 17:34:53 EST


Steven Rostedt wrote:
>
> On Mon, 28 Apr 2008, Hiroshi Shimamoto wrote:
>> diff --git a/arch/x86/kernel/nmi_64.c b/arch/x86/kernel/nmi_64.c
>> index d187ab9..69cc737 100644
>> --- a/arch/x86/kernel/nmi_64.c
>> +++ b/arch/x86/kernel/nmi_64.c
>> @@ -327,11 +327,11 @@ void nmi_show_all_regs(void)
>> if (system_state == SYSTEM_BOOTING)
>> return;
>>
>> - smp_send_nmi_allbutself();
>> -
>> for_each_online_cpu(i)
>> nmi_show_regs[i] = 1;
>
> Hi Hiroshi,
>
> I know this wasn't your code to begin with but, how does this function
> exit? I mean, we set an array where each index per online cpu is set to
> one, then do an "nmi_allbutself", and then wait on those indexes to turn
> zero, one at a time. If we are CPU 0 here, we set that index to 1, then
> enter the loop, and will block forever on this "while" loop below.

Hm, I'm not quit sure when NMI disabled.
If NMI is working issuing CPU will receive NMI and the flag turns off in
NMI handler.
I'll look into it again and will work if needed.

thanks,
Hiroshi Shimamoto

--
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/