Re: [PATCH 5/7] KGDB/KDB: add support for external NMI handler tocall KGDB/KDB.

From: Ingo Molnar
Date: Thu Oct 03 2013 - 01:45:59 EST



* Jason Wessel <jason.wessel@xxxxxxxxxxxxx> wrote:

> On 09/23/2013 04:25 PM, Mike Travis wrote:
> > This patch adds a kgdb_nmicallin() interface that can be used by
> > external NMI handlers to call the KGDB/KDB handler. The primary need
> > for this is for those types of NMI interrupts where all the CPUs
> > have already received the NMI signal. Therefore no send_IPI(NMI)
> > is required, and in fact it will cause a 2nd unhandled NMI to occur.
> > This generates the "Dazed and Confuzed" messages.
> >
> > Since all the CPUs are getting the NMI at roughly the same time, it's not
> > guaranteed that the first CPU that hits the NMI handler will manage to
> > enter KGDB and set the dbg_master_lock before the slaves start entering.
> > The new argument "send_ready" was added for KGDB to signal the NMI handler
> > to release the slave CPUs for entry into KGDB.
> >
> > Signed-off-by: Mike Travis <travis@xxxxxxx>
> > Reviewed-by: Dimitri Sivanich <sivanich@xxxxxxx>
> > Reviewed-by: Hedi Berriche <hedi@xxxxxxx>
>
> One problem that I pointed out before and then you can add
>
> Acked-by: Jason Wessel <jason.wessel@xxxxxxxxxxxxx>
>
> > ---
> > include/linux/kdb.h | 1 +
> > include/linux/kgdb.h | 1 +
> > kernel/debug/debug_core.c | 30 +++++++++++++++++++++++++++++-
> > kernel/debug/debug_core.h | 1 +
> > kernel/debug/kdb/kdb_debugger.c | 5 ++++-
> > kernel/debug/kdb/kdb_main.c | 3 +++
> > 6 files changed, 39 insertions(+), 2 deletions(-)

Jason, would you be fine with me merging this via tip:x86/uv with your
Acked-by? That is the tree where the actual usecase of this callback would
be merged upstream (v3.13-ish), and most of the other commits are x86/uv
specific.

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/