RE: [V4 PATCH 4/4] x86/apic: Introduce noextnmi boot option

From: æåèå / KAWAIïHIDEHIRO
Date: Tue Oct 13 2015 - 23:40:10 EST


> On Fri, 25 Sep 2015, Hidehiro Kawai wrote:
>
> > This patch introduces new boot option "noextnmi" which disables
> > external NMI. This option is useful for the dump capture kernel
> > so that an HA application or administrator wouldn't mistakenly
> > shoot down the kernel by NMI.
> >
> > Currently, only x86 supports this option.
>
> You might add that is can be used for debugging purposes as
> well. External NMIs can be their own source of trouble. :)

Thanks for your comments! I'll do that.

By the way, I have a pending patch which expands this option like
this:

apic_extnmi={ bsp | all | none }

If apic_extnmi=all is specified, external NMIs are broadcast to
all CPUs. This raises the successful rate of kernel panic in the case
where an external NMI to CPU 0 is swallowed by other NMI handlers or
blocked due to hang-up in NMI context. The patch works without any
problems, but I'm going to drop the feature if it will cause long
discussion. I'd like to settle this patch set down once. At least,
I'm going to change this option to apic_extnmi={bsp|none} style for
the future expansion.

How do you think about this?

> > Signed-off-by: Hidehiro Kawai <hidehiro.kawai.ez@xxxxxxxxxxx>
> > Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> > Cc: Ingo Molnar <mingo@xxxxxxxxxx>
> > Cc: "H. Peter Anvin" <hpa@xxxxxxxxx>
> > Cc: Jonathan Corbet <corbet@xxxxxxx>
> > ---
> > Documentation/kernel-parameters.txt | 4 ++++
> > arch/x86/kernel/apic/apic.c | 17 ++++++++++++++++-
> > 2 files changed, 20 insertions(+), 1 deletion(-)
> >
> > diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
> > index 22a4b68..8bcaccd 100644
> > --- a/Documentation/kernel-parameters.txt
> > +++ b/Documentation/kernel-parameters.txt
> > @@ -2379,6 +2379,10 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
> > noexec=on: enable non-executable mappings (default)
> > noexec=off: disable non-executable mappings
> >
> > + noextnmi [X86]
> > + Mask external NMI. This option is useful for a
> > + dump capture kernel to be shot down by NMI.
>
> That should read: "...not to be shot down", right?

Yes, you are right. I'll fix it.

> Other than that.
>
> Acked-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>

Regards,

Hidehiro Kawai
Hitachi, Ltd. Research & Development Group