Skip to contentSkip to conversation

NMI watchdog not ticking at the right intervals

DISCUSSION Mikael Pettersson 2 participants 2 messages Oct 25, 2002

lore
Share & tools
lore
#0 lore raw
Quoted 8 lines · Corey Minyard

As I have been working on my NMI patch, I have noticed that the NMI watchdog does not seem to be ticking correctly. I've tried 2.4 and 2.5 kernels, and I get the same results. From my reading of the code, it should tick once a second. However, I have had the time between ticks vary from around 33 to over 100 seconds. Tbe time between ticks is different on every boot, but is consistent once booted. Is there some divider register that's not getting initialized?

Quoted 8 lines

Here's my cpuinfo:

processor : 0
cpu_package : 0
vendor_id : GenuineIntel
cpu family : 6
model : 11
model name : Intel(R) Pentium(R) III Mobile CPU 1066MHz

(Me thinks "speedstep?")

Do you boot with nmi_watchdog=1 or 2?
The perfctr + local-APIC driven NMI watchdog is dependent on the CPU's clock frequency. If this changes, the NMI rate will change accordingly.

The NMI rate may also be affected by APM/ACPI and how often the kernel executes HLT.

/Mikael

#1 lore raw
Quoted 16 lines · Mikael Pettersson
Quoted 12 lines · Corey Minyard

As I have been working on my NMI patch, I have noticed that the NMI watchdog does not seem to be ticking correctly. I've tried 2.4 and 2.5 kernels, and I get the same results. From my reading of the code, it should tick once a second. However, I have had the time between ticks vary from around 33 to over 100 seconds. Tbe time between ticks is different on every boot, but is consistent once booted. Is there some divider register that's not getting initialized?

Here's my cpuinfo:

processor : 0
cpu_package : 0
vendor_id : GenuineIntel
cpu family : 6
model : 11
model name : Intel(R) Pentium(R) III Mobile CPU 1066MHz

Quoted 4 lines

(Me thinks "speedstep?")

Do you boot with nmi_watchdog=1 or 2?

It's set to 2 (local APIC). Actually, when I set it to 1 (in 2.5) the code overrides it and sets it to 2. But 2 is what it is running with now.

Quoted 7 lines

The perfctr + local-APIC driven NMI watchdog is dependent on the CPU's clock frequency. If this changes, the NMI rate will change accordingly.

The NMI rate may also be affected by APM/ACPI and how often the kernel executes HLT.

This board is not doing speed stepping. It's running derated for reliability.

But that makes me think of something...

If I put a program into an infinite loop, then it will step every second like it is supposed to. That makes sense now.

Thanks,

-Corey