Re: nmi oddity

From: Mikael Pettersson
Date: Thu Mar 11 2004 - 06:14:52 EST


Jonathan Lundell writes:
> Running smp 2.4.9 (don't ask) with updated nmi logic on a Dell 650
> (UP P4), I notice that NMI is running at about 1.08 Hz. Per the
> kernel logic, it should be running at HZ (100) Hz.
>
> I'm using NMI_LOCAL_APIC. check_nmi_watchdog() never gets called in
> this mode in an smp kernel, near as I can tell, so nmi_hz never gets
> set to 1.
>
> What's going on? Or does anyone else see it?

This is a normal. The NMIs are generated from an in-CPU performance
counter configured to increment once per CPU core clock cycle.
(There is no wallclock-like event available, alas.)

Whenever the kernel is idle, "hlt" is normally executed which
stops the CPU until the next external interrupt (typically the
timer). Hence, an idle machine will see a much lower NMI frequence
than a non-idle one.

This behaviour is not universal. Server Tualatins seem to run at
full speed all the time; perhaps they ignore hlt?

If you want NMI_LOCAL_APIC to be clock-like, upgrade your cooling
solution and disable hlt.

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