Messages in this thread | | | Date | Sun, 22 Feb 2009 21:59:06 -0800 (PST) | Subject | Re: x86's nmi_hz wrt. oprofile's nmi_timer_int.c | From | David Miller <> |
| |
From: Andi Kleen <andi@firstfloor.org> Date: Mon, 23 Feb 2009 05:52:00 +0100
> > Again, the code in nmi_timer_int.c doesn't. > > > > It uses the NMI watchdog timer interrupts, it catches DIE_NMI > > events. > > > > > Does that answer your question? > > > > Not really. > > Ah see what you mean now. The nmi_timer_int code can only > be active ever when the cpu is not known to nmi_int.c and > when the nmi watchdog is in io apic mode. But IO apic mode > doesn't use the fast check/slowdown because it always runs > at HZ frequency. That only happens in LAPIC mode. > > The standard fallback mode for unknown CPU is the non NMI timer > fallback in oprofile_init, the IO APIC mode happens near never in practice.
Look at the fallback logic, the pure NMI profiler can fail for a number of reasons, not just because the watchdog is in I/O APIC mode.
No matter what the failure reason, nmi_int.c is used.
And in some of those cases, the nmi_hz has been decreased to '1'.
| |