[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20090130.135409.180077287.davem@davemloft.net>
Date: Fri, 30 Jan 2009 13:54:09 -0800 (PST)
From: David Miller <davem@...emloft.net>
To: mingo@...e.hu
Cc: tglx@...utronix.de, mingo@...hat.com, linux-kernel@...r.kernel.org,
hpa@...or.com
Subject: Re: x86's nmi_hz wrt. oprofile's nmi_timer_int.c
From: Ingo Molnar <mingo@...e.hu>
Date: Fri, 30 Jan 2009 16:01:25 +0100
>
> * David Miller <davem@...emloft.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.
For the NMI watchdog's purposes I understand the intent, and this
is perfectly fine.
The problem is that it stays at '1' when oprofile starts using the NMI
watchdog, and we certainly want more than one oprofile tick per second
:-)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists