public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Re: [PATCH 0/3 v2] new nmi_watchdog using perf events
@ 2010-02-12 16:12 Stephane Eranian
  2010-02-12 16:59 ` Don Zickus
  0 siblings, 1 reply; 6+ messages in thread
From: Stephane Eranian @ 2010-02-12 16:12 UTC (permalink / raw)
  To: Don Zickus; +Cc: LKML, Peter Zijlstra, mingo, Paul Mackerras, Robert Richter

Don,

How is this new NMI watchdog code going to work when you also have OProfile
enabled in your kernel?

Today, perf_event disables the NMI watchdog while there is at least one event.
By releasing the PMU registers, it also allows for Oprofile to work.

But now with this new NMI watchdog code, perf_event never releases the PMU.
Thus, I suspect Oprofile will not work anymore, unless the NMI watchdog is
explicitly disabled. Up until now OProfile could co-exist with the NMI watchdog.

^ permalink raw reply	[flat|nested] 6+ messages in thread
* [PATCH 0/3 v2] new nmi_watchdog using perf events
@ 2010-02-06  2:47 Don Zickus
  0 siblings, 0 replies; 6+ messages in thread
From: Don Zickus @ 2010-02-06  2:47 UTC (permalink / raw)
  To: mingo, peterz; +Cc: gorcunov, aris, linux-kernel, Don Zickus

This patch series tries to implement a new nmi_watchdog using the perf
events subsystem.  I am posting this series early for feedback on the
approach.  It isn't feature compatible with the old nmi_watchdog yet, nor
does it have all the old workarounds either.

The basic design is to create an in-kernel performance counter that goes off
every few seconds and checks for cpu lockups.  It is fairly straight
forward.  Some of the quirks are making sure the cpu lockup detection works
correctly.

It has been lightly tested for now.  Once people are ok with the approach,
I'll expand testing to more machines in our lab.

I tried taking a generic approach so all arches could use it if they want
and then implement some per arch specific hooks.  I believe this is what
Ingo was suggesting.  The initial work is based off of kernel/softlockup.c.

Any feedback would be great.

v2:
- moved a notify_die call into a #ifdef block
- used better default values for configuring the nmi_watchdog based on
  the old nmi_watchdog values

Cheers,
Don

--
damn it forgot to cc lkml

Don Zickus (3):
  [RFC][x86] move notify_die from nmi.c to traps.c
  [RFC] nmi_watchdog: new implementation using perf events
  [RFC] nmi_watchdog: config option to enable new nmi_watchdog

 arch/x86/kernel/apic/Makefile |    7 ++-
 arch/x86/kernel/apic/hw_nmi.c |  114 ++++++++++++++++++++++++
 arch/x86/kernel/apic/nmi.c    |    7 --
 arch/x86/kernel/traps.c       |    7 ++
 include/linux/nmi.h           |    4 +
 kernel/Makefile               |    1 +
 kernel/nmi_watchdog.c         |  196 +++++++++++++++++++++++++++++++++++++++++
 lib/Kconfig.debug             |   13 +++
 8 files changed, 341 insertions(+), 8 deletions(-)
 create mode 100644 arch/x86/kernel/apic/hw_nmi.c
 create mode 100644 kernel/nmi_watchdog.c


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2010-02-15 20:04 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-02-12 16:12 [PATCH 0/3 v2] new nmi_watchdog using perf events Stephane Eranian
2010-02-12 16:59 ` Don Zickus
2010-02-12 17:12   ` Stephane Eranian
2010-02-14  8:31     ` Ingo Molnar
2010-02-15 20:04     ` Robert Richter
  -- strict thread matches above, loose matches on Subject: below --
2010-02-06  2:47 Don Zickus

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox