Bug 8945

Summary: nmi_watchdog=2 causes system to hang during bootup
Product: Other Reporter: Daniel Walker (dwalker)
Component: OtherAssignee: other_other
Status: RESOLVED CODE_FIX    
Severity: normal    
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.22 Subsystem:
Regression: Yes Bisected commit-id:

Description Daniel Walker 2007-08-27 09:20:30 UTC
Tested 2.6.23-rc3 and this issue still exists in that version.

This patch below hangs my system on boot if I set nmi_watchdog=2 . It
shows the NMI as stuck then the system hangs .. nmi_watchdog=1 works
fine, and the system boots without any watchdog options ..

The machine is an Intel allagash development board, and it has two dual
core Pentium-M cpus. I attached the .config I used.

bf8696ed6dfa561198b4736deaf11ab68dcc4845 is first bad commit
commit bf8696ed6dfa561198b4736deaf11ab68dcc4845
Author: Stephane Eranian <eranian@hpl.hp.com>
Date:   Wed May 2 19:27:05 2007 +0200

    [PATCH] i386: i386 make NMI use PERFCTR1 for architectural perfmon (take 2)

    Hello,

    This patch against 2.6.20-git14 makes the NMI watchdog use PERFSEL1/PERFCTR1
    instead of PERFSEL0/PERFCTR0 on processors supporting Intel architectural
    perfmon, such as Intel Core 2. Although all PMU events can work on
    both counters, the Precise Event-Based Sampling (PEBS) requires that the
    event be in PERFCTR0 to work correctly (see section 18.14.4.1 in the
    IA32 SDM Vol 3b).

    A similar patch for x86-64 is to follow.

    Changelog:
            - make the i386 NMI watchdog use PERFSEL1/PERFCTR1 instead of PERFSEL0/PERFCTR0
              on processors supporting the Intel architectural perfmon (e.g. Core 2 Duo).
              This allows PEBS to work when the NMI watchdog is active.

    signed-off-by: stephane eranian <eranian@hpl.hp.com>

    Signed-off-by: Andi Kleen <ak@suse.de>
Comment 1 Daniel Walker 2007-09-04 10:14:04 UTC
Fixed as of this patch,

http://lkml.org/lkml/2007/8/31/190