Re: [PATCH] documentation: nmi_watchdog=2 works on x86_64 (was: 2.6.25-rc: complete lockup on boot/start of X (bisected))

From: Yinghai Lu
Date: Sun Mar 23 2008 - 16:16:18 EST


On Sun, Mar 23, 2008 at 1:06 PM, Marcin Slusarz
<marcin.slusarz@xxxxxxxxx> wrote:
> On Sun, Mar 23, 2008 at 08:06:08PM +0100, Peter Zijlstra wrote:
> > On Sun, 2008-03-23 at 19:46 +0100, Marcin Slusarz wrote:
> >
> > > 4 different lockups:
> > > http://alan.umcs.lublin.pl/~mslusarz/kernel/2008.03.23-lockup/
> >
> > Brilliant, these are extremely helpful.
> >
> > What seems to happen is a classic xtime deadlock, doing a xtime
> > seq_readlock while holding a seq_writelock.
> >
> > Only need to figure out _why_ that is happening....
> >
> > > Are there any downsides of using nmi_watchdog=2 all the time?
> >
> > Some machines are said to not boot due to NMIs, hence the default is
> > off, but afaik, _if_ it works there are no downsides aside from the
> > slight NMI handling overhead.
> >
> > > ps: Documentation/nmi_watchdog.txt says: "Currently, local APIC mode
> > > (nmi_watchdog=2) does not work on x86-64.". It's not true, so maybe someone
> > > should update this file?
> >
> > Care to send a patch to the x86 maintainers? :-)
> >
>
> ---
> documentation: nmi_watchdog=2 works on x86_64
>
> Signed-off-by: Marcin Slusarz <marcin.slusarz@xxxxxxxxx>
> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
> ---
> Documentation/nmi_watchdog.txt | 3 +--
> 1 files changed, 1 insertions(+), 2 deletions(-)
>
> diff --git a/Documentation/nmi_watchdog.txt b/Documentation/nmi_watchdog.txt
> index c025a45..757c729 100644
> --- a/Documentation/nmi_watchdog.txt
> +++ b/Documentation/nmi_watchdog.txt
> @@ -23,8 +23,7 @@ kernel debugging options, such as Kernel Stack Meter or Kernel Tracer,
> may implicitly disable the NMI watchdog.]
>
> For x86-64, the needed APIC is always compiled in, and the NMI watchdog is
> -always enabled with I/O-APIC mode (nmi_watchdog=1). Currently, local APIC
> -mode (nmi_watchdog=2) does not work on x86-64.
> +always enabled with I/O-APIC mode (nmi_watchdog=1).
>
> Using local APIC (nmi_watchdog=2) needs the first performance register, so
> you can't use it for other purposes (such as high precision performance
> --
anyone has nmi_watchdog=1 works on x86_64 with amd platform?

or nmi_watchdog=1 only works with intel box?

maybe we can default that to different value according to different
cpu vendor...

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