Messages in this thread | | | Date | Fri, 30 Jan 2009 16:01:25 +0100 | From | Ingo Molnar <> | Subject | Re: x86's nmi_hz wrt. oprofile's nmi_timer_int.c |
| |
* David Miller <davem@davemloft.net> wrote:
> While working on an NMI watchdog implementation on sparc64 I noticed > what seems to be a peculiar behavior of the NMI timer int oprofile > support on x86. > > When the NMI watchdog tests itself at boot timer we start with nmi_hz > equal to HZ. > > After the NMI watchdog self-test passes, nmi_hz is reduced down to '1'. > > The NMI timer int oprofile support simply uses DIE_NMI notifiers for > it's implementation. But I don't see anything in the code of > arch/x86/oprofile/nmi_timer_int.c nor the NMI watchdog infrastructure > which will re-adjust nmi_hz back to HZ or something similar. > > Am I missing something?
Reducing it to 1 HZ was kind of a performance hack: running NMIs at HZ needlessly interrupts the CPU HZ times a second. It's more than enough to have 1 nmi-watchdog tick per second to notice deadlocks that take longer than 5 seconds.
Can you see a problem with that approach, or was this just a question about why it's reduced to 1 Hz?
Ingo
| |