Skip to contentSkip to conversation

Fix NMI watchdog documentation

RFC Carl-Daniel Hailfinger 5 participants 10 messages May 24, 2003 – May 25, 2003

lore
Share & tools
lore
#0 lore raw

Hello,

Documentation/nmi_watchdog.txt does not say which CONFIG_XYZ option has to be enabled to use the NMI watchdog, but it mentions that IO-APIC is somewhat related.

Documentation/Configure.help is equally unclear. The NMI watchdog is mentioned as related to CONFIG_SMP, and the help text for CONFIG_X86_UP_APIC says: "The local APIC supports [..] the NMI watchdog" That does not necessarily mean that NMI is compiled in once local APIC support is selected.

Can someone please shed some light on this issue? I'm willing to create a patch to fix the docs once I know if the NMI watchdog is compiled in alsways or on what it depends.

Regards,
Carl-Daniel

Signature · 1 line
http://www.hailfinger.org/
#1 lore raw

On Saturday 24 May 2003 21:07, Carl-Daniel Hailfinger wrote:

Hi Carl-Daniel,

Quoted 10 lines

Documentation/nmi_watchdog.txt does not say which CONFIG_XYZ option has to be enabled to use the NMI watchdog, but it mentions that IO-APIC is somewhat related.

Documentation/Configure.help is equally unclear. The NMI watchdog is mentioned as related to CONFIG_SMP, and the help text for CONFIG_X86_UP_APIC says: "The local APIC supports [..] the NMI watchdog" That does not necessarily mean that NMI is compiled in once local APIC support is selected.

Quoted 3 lines

Can someone please shed some light on this issue? I'm willing to create a patch to fix the docs once I know if the NMI watchdog is compiled in alsways or on what it depends.

the nmi_watchdog is always compiled in if you select "CONFIG_X86_LOCAL_APIC"

see "arch/i386/kernel/Makefile"

ciao, Marc

#2 lore raw
In reply to Carl-Daniel Hailfinger
Quoted 10 lines · Carl-Daniel Hailfinger

Documentation/nmi_watchdog.txt does not say which CONFIG_XYZ option has to be enabled to use the NMI watchdog, but it mentions that IO-APIC is somewhat related.

Documentation/Configure.help is equally unclear. The NMI watchdog is mentioned as related to CONFIG_SMP, and the help text for CONFIG_X86_UP_APIC says: "The local APIC supports [..] the NMI watchdog" That does not necessarily mean that NMI is compiled in once local APIC support is selected.

Quoted 3 lines

Can someone please shed some light on this issue? I'm willing to create a patch to fix the docs once I know if the NMI watchdog is compiled in alsways or on what it depends.

For nmi_watchdog=1 the NMI watchdog uses the programmable interval timer to trigger interrupt events via the IOAPIC. with nmi_watchdog=2 we use the performance counters on the processor to trigger these events. IOAPICs are generally found on SMP motherboards (but there are UP boards with them, it's chipset dependent). Generally i686+ (save some Athlons and a few other processors) will work with nmi_watchdog=2.

Zwane

Signature · 1 line
function.linuxpower.ca
#3 lore raw
Quoted 6 lines · Zwane Mwaikambo

For nmi_watchdog=1 the NMI watchdog uses the programmable interval timer to trigger interrupt events via the IOAPIC. with nmi_watchdog=2 we use the performance counters on the processor to trigger these events. IOAPICs are generally found on SMP motherboards (but there are UP boards with them, it's chipset dependent). Generally i686+ (save some Athlons and a few other processors) will work with nmi_watchdog=2.

Forgot this bit;

w/ CONFIG_X86_LOCAL_APIC=y you only have nmi_watchdog=2

w/ CONFIG_X86_IO_APIC=y you have nmi_watchdog=1 and 2

w/ CONFIG_SMP you have nmi_watchdog=1 and 2 as it depends on CONFIG_X86_IO_APIC

Zwane

Signature · 1 line
function.linuxpower.ca
#4 lore raw
Quoted 19 lines · Zwane Mwaikambo
Quoted 6 lines · Zwane Mwaikambo

For nmi_watchdog=1 the NMI watchdog uses the programmable interval timer to trigger interrupt events via the IOAPIC. with nmi_watchdog=2 we use the performance counters on the processor to trigger these events. IOAPICs are generally found on SMP motherboards (but there are UP boards with them, it's chipset dependent). Generally i686+ (save some Athlons and a few other processors) will work with nmi_watchdog=2.

Forgot this bit;

w/ CONFIG_X86_LOCAL_APIC=y you only have nmi_watchdog=2

w/ CONFIG_X86_IO_APIC=y you have nmi_watchdog=1 and 2

w/ CONFIG_SMP you have nmi_watchdog=1 and 2 as it depends on CONFIG_X86_IO_APIC

Quoted 3 lines · Marc-Christian Petersen

the nmi_watchdog is always compiled in if you select "CONFIG_X86_LOCAL_APIC"

see "arch/i386/kernel/Makefile"

Thanks to all who responded. I will prepare a patch for Documentation/nmi_watchdog.txt to clarify it and send the patch to Linus and Marcelo.

Regards,
Carl-Daniel

Signature · 1 line
http://www.hailfinger.org/
#5 lore raw
In reply to Zwane Mwaikambo
Quoted 8 lines · Zwane Mwaikambo

Forgot this bit;

w/ CONFIG_X86_LOCAL_APIC=y you only have nmi_watchdog=2

w/ CONFIG_X86_IO_APIC=y you have nmi_watchdog=1 and 2

w/ CONFIG_SMP you have nmi_watchdog=1 and 2 as it depends on CONFIG_X86_IO_APIC

% grep APIC /usr/src/linux-2.5.69/.config
CONFIG_X86_GOOD_APIC=y
CONFIG_X86_UP_APIC=y
CONFIG_X86_UP_IOAPIC=y
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y

but 'dmesg' on my Dell Latitude C840 laptop tells me:

Dell Latitude with broken BIOS detected. Refusing to enable the local APIC.

Is this nmi_watchdog="forget about it dave" time, or is there some way to get this to work?

#6 lore raw
Quoted 6 lines · On Sat, 24 May 2003 [email protected] wrote:

but 'dmesg' on my Dell Latitude C840 laptop tells me:

Dell Latitude with broken BIOS detected. Refusing to enable the local APIC.

Is this nmi_watchdog="forget about it dave" time, or is there some way to get this to work?

It's known broken with that configuration and hence blacklisted.

Zwane

Signature · 1 line
function.linuxpower.ca
#7 lore raw
Quoted 3 lines · Zwane Mwaikambo
Quoted 1 line

Dell Latitude with broken BIOS detected. Refusing to enable the local APIC.

It's known broken with that configuration and hence blacklisted.

Yes, I know it's blacklisted. The question I intended to ask was "Is the entire concept of IOAPIC irretrievably scrozzled on this machine, or is there sufficient minimum functionality to get nmi_watchdog working?"

#8 lore raw
Quoted 9 lines · On Sun, 25 May 2003 [email protected] wrote:
Quoted 3 lines · Zwane Mwaikambo
Quoted 1 line

Dell Latitude with broken BIOS detected. Refusing to enable the local APIC.

It's known broken with that configuration and hence blacklisted.

Yes, I know it's blacklisted. The question I intended to ask was "Is the entire concept of IOAPIC irretrievably scrozzled on this machine, or is there sufficient minimum functionality to get nmi_watchdog working?"

You don't have an IOAPIC at all, but the Local APIC has been known to cause problems. So forget about nmi_watchdog.

Zwane

Signature · 1 line
function.linuxpower.ca
#9 lore raw
Quoted 8 lines · Zwane Mwaikambo
Quoted 6 lines · On Sun, 25 May 2003 [email protected] wrote:
Quoted 3 lines · Zwane Mwaikambo
Quoted 1 line

Dell Latitude with broken BIOS detected. Refusing to enable the local APIC.

It's known broken with that configuration and hence blacklisted.

Quoted 8 lines
Quoted 3 lines

Yes, I know it's blacklisted. The question I intended to ask was "Is the entire concept of IOAPIC irretrievably scrozzled on this machine, or is there sufficient minimum functionality to get nmi_watchdog working?"

You don't have an IOAPIC at all, but the Local APIC has been known to cause problems. So forget about nmi_watchdog.

Zwane

I was reading that code the other day (just out of curiosity, believe it or not) and I'm wondering how recently that has been tested - most of the blacklist/oddness workarounds listed in dmi_scan.c are model-specific, but the APIC entry is any Dell Inspiron or Latitude.

I'm going to remove the test tomorrow sometime and see what happens - lots has changed since the Inspiron 8000, including a migration to p4-mobile, so its worth seeing if the newer Dells are fixed. If so, I'll submit a patch to make that more model-specific (probably I'll just add a whitelist function - no_local_apic_kills_bios or some such; seems better than listing every dell inspiron individually..)

I'm encouraged by the complete lack of APM or any of the 'enter bios while running' options present on the older laptops; according to the comments, even if the APIC kills the bios on entry/exit, it won't matter since you can't trigger it to begin with..

Signature · 1 line
Disconnect <[email protected]>