linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* linux-next: build failure after merge of the final tree
@ 2010-05-14  5:53 Stephen Rothwell
  2010-05-14 15:03 ` Don Zickus
  2010-05-14 15:11 ` linux-next: build failure after merge of the final tree Don Zickus
  0 siblings, 2 replies; 14+ messages in thread
From: Stephen Rothwell @ 2010-05-14  5:53 UTC (permalink / raw)
  To: Thomas Gleixner, Ingo Molnar, H. Peter Anvin, Peter Zijlstra
  Cc: linux-next, linux-kernel, David Miller, Don Zickus

[-- Attachment #1: Type: text/plain, Size: 1182 bytes --]

Hi all,

After merging the final tree, today's linux-next build (sparc64 defconfig)
failed like this:

kernel/built-in.o: In function `touch_nmi_watchdog':
(.text+0x449bc): multiple definition of `touch_nmi_watchdog'
arch/sparc/kernel/built-in.o:(.text+0x11b28): first defined here

Probably caused by commit 58687acba59266735adb8ccd9b5b9aa2c7cd205b
("lockup_detector: Combine nmi_watchdog and softlockup detector").

The one in kernel/ used to only be built when CONFIG_NMI_WATCHDOG was set
which depended on CONFIG_PERF_EVENTS_NMI which was only ever set for
ARCH=x86.  This probably breaks mn10300 and blackfin as well, at least.
We also have ARCH_HAS_NMI_WATCHDOG to determine this ...

I tried protecting the definition of touch_nmi_watchdog with
ARCH_HAS_NMI_WATCHDOG, but that broke the x86_64 allmodconfig build
(which defines ARCH_HAS_NMI_WATCHDOG if CONFIG_X86_LOCAL_APIC is defined
but only builds its version if CONFIG_LOCKUP_DETECTOR is not 'y').

So I have left is as it is for today.  Please see if someone can come up
with a solution.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/

[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]

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

* Re: linux-next: build failure after merge of the final tree
  2010-05-14  5:53 linux-next: build failure after merge of the final tree Stephen Rothwell
@ 2010-05-14 15:03 ` Don Zickus
  2010-05-15  7:37   ` Ingo Molnar
  2010-05-14 15:11 ` linux-next: build failure after merge of the final tree Don Zickus
  1 sibling, 1 reply; 14+ messages in thread
From: Don Zickus @ 2010-05-14 15:03 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: Thomas Gleixner, Ingo Molnar, H. Peter Anvin, Peter Zijlstra,
	linux-next, linux-kernel, David Miller

On Fri, May 14, 2010 at 03:53:12PM +1000, Stephen Rothwell wrote:
> Hi all,
> 
> After merging the final tree, today's linux-next build (sparc64 defconfig)
> failed like this:
> 
> kernel/built-in.o: In function `touch_nmi_watchdog':
> (.text+0x449bc): multiple definition of `touch_nmi_watchdog'
> arch/sparc/kernel/built-in.o:(.text+0x11b28): first defined here
> 
> Probably caused by commit 58687acba59266735adb8ccd9b5b9aa2c7cd205b
> ("lockup_detector: Combine nmi_watchdog and softlockup detector").
> 
> The one in kernel/ used to only be built when CONFIG_NMI_WATCHDOG was set
> which depended on CONFIG_PERF_EVENTS_NMI which was only ever set for
> ARCH=x86.  This probably breaks mn10300 and blackfin as well, at least.
> We also have ARCH_HAS_NMI_WATCHDOG to determine this ...
> 
> I tried protecting the definition of touch_nmi_watchdog with
> ARCH_HAS_NMI_WATCHDOG, but that broke the x86_64 allmodconfig build
> (which defines ARCH_HAS_NMI_WATCHDOG if CONFIG_X86_LOCAL_APIC is defined
> but only builds its version if CONFIG_LOCKUP_DETECTOR is not 'y').
> 
> So I have left is as it is for today.  Please see if someone can come up
> with a solution.

Sorry for the mess.  I think the following patch cleans it up.  The last
piece deals with the sparc mess, the other two pieces should deal with the
x86 fallout.

Cheers,
Don


diff --git a/arch/x86/kernel/apic/Makefile b/arch/x86/kernel/apic/Makefile
index 52f32e0..3a57a04 100644
--- a/arch/x86/kernel/apic/Makefile
+++ b/arch/x86/kernel/apic/Makefile
@@ -3,10 +3,10 @@
 #
 
 obj-$(CONFIG_X86_LOCAL_APIC)	+= apic.o apic_noop.o probe_$(BITS).o ipi.o
-ifneq ($(CONFIG_LOCKUP_DETECTOR),y)
+ifneq ($(CONFIG_PERF_EVENTS_NMI),y)
 obj-$(CONFIG_X86_LOCAL_APIC)	+= nmi.o
 endif
-obj-$(CONFIG_LOCKUP_DETECTOR)	+= hw_nmi.o
+obj-$(CONFIG_PERF_EVENTS_NMI)	+= hw_nmi.o
 
 obj-$(CONFIG_X86_IO_APIC)	+= io_apic.o
 obj-$(CONFIG_SMP)		+= ipi.o
diff --git a/include/linux/nmi.h b/include/linux/nmi.h
index abd48aa..9a30da4 100644
--- a/include/linux/nmi.h
+++ b/include/linux/nmi.h
@@ -20,7 +20,7 @@ extern void touch_nmi_watchdog(void);
 extern void acpi_nmi_disable(void);
 extern void acpi_nmi_enable(void);
 #else
-#ifndef CONFIG_LOCKUP_DETECTOR
+#ifndef CONFIG_PERF_EVENTS_NMI
 static inline void touch_nmi_watchdog(void)
 {
 	touch_softlockup_watchdog();
diff --git a/kernel/watchdog.c b/kernel/watchdog.c
index be5e74e..61b63ca 100644
--- a/kernel/watchdog.c
+++ b/kernel/watchdog.c
@@ -139,12 +139,14 @@ void touch_all_softlockup_watchdogs(void)
 		per_cpu(watchdog_touch_ts, cpu) = 0;
 }
 
+#ifdef CONFIG_PERF_EVENTS_NMI
 void touch_nmi_watchdog(void)
 {
 	__get_cpu_var(watchdog_nmi_touch) = true;
 	touch_softlockup_watchdog();
 }
 EXPORT_SYMBOL(touch_nmi_watchdog);
+#endif
 
 void touch_softlockup_watchdog_sync(void)
 {

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

* Re: linux-next: build failure after merge of the final tree
  2010-05-14  5:53 linux-next: build failure after merge of the final tree Stephen Rothwell
  2010-05-14 15:03 ` Don Zickus
@ 2010-05-14 15:11 ` Don Zickus
  2010-05-16  9:20   ` [tip:perf/nmi] lockup_detector: Cross arch compile fixes tip-bot for Don Zickus
  1 sibling, 1 reply; 14+ messages in thread
From: Don Zickus @ 2010-05-14 15:11 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: Thomas Gleixner, Ingo Molnar, H. Peter Anvin, Peter Zijlstra,
	linux-next, linux-kernel, David Miller

On Fri, May 14, 2010 at 03:53:12PM +1000, Stephen Rothwell wrote:
> Hi all,
> 
> After merging the final tree, today's linux-next build (sparc64 defconfig)
> failed like this:
> 
> kernel/built-in.o: In function `touch_nmi_watchdog':
> (.text+0x449bc): multiple definition of `touch_nmi_watchdog'
> arch/sparc/kernel/built-in.o:(.text+0x11b28): first defined here
> 
> Probably caused by commit 58687acba59266735adb8ccd9b5b9aa2c7cd205b
> ("lockup_detector: Combine nmi_watchdog and softlockup detector").
> 
> The one in kernel/ used to only be built when CONFIG_NMI_WATCHDOG was set
> which depended on CONFIG_PERF_EVENTS_NMI which was only ever set for
> ARCH=x86.  This probably breaks mn10300 and blackfin as well, at least.
> We also have ARCH_HAS_NMI_WATCHDOG to determine this ...
> 
> I tried protecting the definition of touch_nmi_watchdog with
> ARCH_HAS_NMI_WATCHDOG, but that broke the x86_64 allmodconfig build
> (which defines ARCH_HAS_NMI_WATCHDOG if CONFIG_X86_LOCAL_APIC is defined
> but only builds its version if CONFIG_LOCKUP_DETECTOR is not 'y').
> 
> So I have left is as it is for today.  Please see if someone can come up
> with a solution.

I realized I was lazy and different provide a formal patch (and I had a
couple of warnings too).  Here is something better.

Cheers,
Don

---
commit 578178d5133403e469543bfff8a4e404d878563b
Author: Don Zickus <dzickus@redhat.com>
Date:   Fri May 14 11:04:52 2010 -0400

    [watchdog] nmi: cross arch compile fixes
    
    Combining the softlockup and hardlockup code causes watchdog.c to always be
    compiled.  Surround some code which prevents the hardlockup stuff from being
    compiled if other arches have a different NMI handler.
    
    Signed-off-by: Don Zickus <dzickus@redhat.com>

diff --git a/arch/x86/kernel/apic/Makefile b/arch/x86/kernel/apic/Makefile
index 52f32e0..3a57a04 100644
--- a/arch/x86/kernel/apic/Makefile
+++ b/arch/x86/kernel/apic/Makefile
@@ -3,10 +3,10 @@
 #
 
 obj-$(CONFIG_X86_LOCAL_APIC)	+= apic.o apic_noop.o probe_$(BITS).o ipi.o
-ifneq ($(CONFIG_LOCKUP_DETECTOR),y)
+ifneq ($(CONFIG_PERF_EVENTS_NMI),y)
 obj-$(CONFIG_X86_LOCAL_APIC)	+= nmi.o
 endif
-obj-$(CONFIG_LOCKUP_DETECTOR)	+= hw_nmi.o
+obj-$(CONFIG_PERF_EVENTS_NMI)	+= hw_nmi.o
 
 obj-$(CONFIG_X86_IO_APIC)	+= io_apic.o
 obj-$(CONFIG_SMP)		+= ipi.o
diff --git a/include/linux/nmi.h b/include/linux/nmi.h
index abd48aa..9a30da4 100644
--- a/include/linux/nmi.h
+++ b/include/linux/nmi.h
@@ -20,7 +20,7 @@ extern void touch_nmi_watchdog(void);
 extern void acpi_nmi_disable(void);
 extern void acpi_nmi_enable(void);
 #else
-#ifndef CONFIG_LOCKUP_DETECTOR
+#ifndef CONFIG_PERF_EVENTS_NMI
 static inline void touch_nmi_watchdog(void)
 {
 	touch_softlockup_watchdog();
diff --git a/kernel/watchdog.c b/kernel/watchdog.c
index be5e74e..65429dd 100644
--- a/kernel/watchdog.c
+++ b/kernel/watchdog.c
@@ -31,13 +31,13 @@ int watchdog_enabled;
 int __read_mostly softlockup_thresh = 60;
 
 static DEFINE_PER_CPU(unsigned long, watchdog_touch_ts);
-static DEFINE_PER_CPU(bool, watchdog_nmi_touch);
 static DEFINE_PER_CPU(struct task_struct *, softlockup_watchdog);
 static DEFINE_PER_CPU(struct hrtimer, watchdog_hrtimer);
 static DEFINE_PER_CPU(bool, softlockup_touch_sync);
-static DEFINE_PER_CPU(bool, hard_watchdog_warn);
 static DEFINE_PER_CPU(bool, soft_watchdog_warn);
 #ifdef CONFIG_PERF_EVENTS_NMI
+static DEFINE_PER_CPU(bool, hard_watchdog_warn);
+static DEFINE_PER_CPU(bool, watchdog_nmi_touch);
 static DEFINE_PER_CPU(unsigned long, hrtimer_interrupts);
 static DEFINE_PER_CPU(unsigned long, hrtimer_interrupts_saved);
 static DEFINE_PER_CPU(struct perf_event *, watchdog_ev);
@@ -139,6 +139,7 @@ void touch_all_softlockup_watchdogs(void)
 		per_cpu(watchdog_touch_ts, cpu) = 0;
 }
 
+#ifdef CONFIG_PERF_EVENTS_NMI
 void touch_nmi_watchdog(void)
 {
 	__get_cpu_var(watchdog_nmi_touch) = true;
@@ -146,6 +147,8 @@ void touch_nmi_watchdog(void)
 }
 EXPORT_SYMBOL(touch_nmi_watchdog);
 
+#endif
+
 void touch_softlockup_watchdog_sync(void)
 {
 	__raw_get_cpu_var(softlockup_touch_sync) = true;

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

* Re: linux-next: build failure after merge of the final tree
  2010-05-14 15:03 ` Don Zickus
@ 2010-05-15  7:37   ` Ingo Molnar
  2010-05-15 20:28     ` Frederic Weisbecker
                       ` (5 more replies)
  0 siblings, 6 replies; 14+ messages in thread
From: Ingo Molnar @ 2010-05-15  7:37 UTC (permalink / raw)
  To: Don Zickus
  Cc: Stephen Rothwell, Thomas Gleixner, H. Peter Anvin,
	Peter Zijlstra, linux-next, linux-kernel, David Miller


* Don Zickus <dzickus@redhat.com> wrote:

> Sorry for the mess.  I think the following patch 
> cleans it up.  The last piece deals with the sparc 
> mess, the other two pieces should deal with the x86 
> fallout.

This patch breaks x86:

arch/x86/built-in.o: In function `show_stack_log_lvl':
(.text+0xc2c0): undefined reference to `touch_nmi_watchdog'
arch/x86/built-in.o: In function `print_trace_address':
dumpstack.c:(.text+0xd893): undefined reference to `touch_nmi_watchdog'
arch/x86/built-in.o: In function `mce_timed_out':
mce.c:(.text+0x20008): undefined reference to `touch_nmi_watchdog'
arch/x86/built-in.o: In function `enable_lapic_nmi_watchdog':
(.text+0x261f2): undefined reference to `touch_nmi_watchdog'

CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_PERF_EVENTS_NMI=y
CONFIG_IPMI_WATCHDOG=m
CONFIG_WATCHDOG=y
CONFIG_WATCHDOG_NOWAYOUT=y
# CONFIG_SOFT_WATCHDOG is not set
CONFIG_HP_WATCHDOG=y
CONFIG_SBC_EPX_C3_WATCHDOG=m
# CONFIG_PCIPCWATCHDOG is not set
# CONFIG_USBPCWATCHDOG is not set
CONFIG_HAVE_FTRACE_NMI_ENTER=y
CONFIG_FTRACE_NMI_ENTER=y

I'd _strongly_ suggest to simplify the code. There's 
a few things that could be done to that end:

- just have a single watchdog option and dont split 
  the soft-dog from the hard-dog.

- use config options to define default behavior: i.e.
  whether the soft-dog and hard-dog is enabled by default,
  but otherwise keep them both included.

- provide a smooth pathway for architectures that 
  have an NMI watchdog right now. Dont overlap their 
  symbols for example.

... and similar measures.

Thanks,

	Ingo

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

* Re: linux-next: build failure after merge of the final tree
  2010-05-15  7:37   ` Ingo Molnar
@ 2010-05-15 20:28     ` Frederic Weisbecker
  2010-05-16  2:33     ` [GIT PULL] Lockup detector build fixes Frederic Weisbecker
                       ` (4 subsequent siblings)
  5 siblings, 0 replies; 14+ messages in thread
From: Frederic Weisbecker @ 2010-05-15 20:28 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Don Zickus, Stephen Rothwell, Thomas Gleixner, H. Peter Anvin,
	Peter Zijlstra, linux-next, linux-kernel, David Miller

On Sat, May 15, 2010 at 09:37:32AM +0200, Ingo Molnar wrote:
> 
> * Don Zickus <dzickus@redhat.com> wrote:
> 
> > Sorry for the mess.  I think the following patch 
> > cleans it up.  The last piece deals with the sparc 
> > mess, the other two pieces should deal with the x86 
> > fallout.
> 
> This patch breaks x86:
> 
> arch/x86/built-in.o: In function `show_stack_log_lvl':
> (.text+0xc2c0): undefined reference to `touch_nmi_watchdog'
> arch/x86/built-in.o: In function `print_trace_address':
> dumpstack.c:(.text+0xd893): undefined reference to `touch_nmi_watchdog'
> arch/x86/built-in.o: In function `mce_timed_out':
> mce.c:(.text+0x20008): undefined reference to `touch_nmi_watchdog'
> arch/x86/built-in.o: In function `enable_lapic_nmi_watchdog':
> (.text+0x261f2): undefined reference to `touch_nmi_watchdog'
> 
> CONFIG_CLOCKSOURCE_WATCHDOG=y
> CONFIG_PERF_EVENTS_NMI=y
> CONFIG_IPMI_WATCHDOG=m
> CONFIG_WATCHDOG=y
> CONFIG_WATCHDOG_NOWAYOUT=y
> # CONFIG_SOFT_WATCHDOG is not set
> CONFIG_HP_WATCHDOG=y
> CONFIG_SBC_EPX_C3_WATCHDOG=m
> # CONFIG_PCIPCWATCHDOG is not set
> # CONFIG_USBPCWATCHDOG is not set
> CONFIG_HAVE_FTRACE_NMI_ENTER=y
> CONFIG_FTRACE_NMI_ENTER=y
> 
> I'd _strongly_ suggest to simplify the code. There's 
> a few things that could be done to that end:
> 
> - just have a single watchdog option and dont split 
>   the soft-dog from the hard-dog.


This is what we have, ie: CONFIG_LOCKUP_DETECTOR

But we need to keep the softlockup detection out of
the perf dependency. This is what we had previously.
And more especially softlockup detection doesn't need
perf.



> - provide a smooth pathway for architectures that 
>   have an NMI watchdog right now. Dont overlap their 
>   symbols for example.



Agreed.


 
> ... and similar measures.


And I add: remove the old nmi watchdog code from x86, for good.

I'm working on it.


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

* [GIT PULL] Lockup detector build fixes
  2010-05-15  7:37   ` Ingo Molnar
  2010-05-15 20:28     ` Frederic Weisbecker
@ 2010-05-16  2:33     ` Frederic Weisbecker
  2010-05-16  2:36       ` Frederic Weisbecker
  2010-05-16  2:33     ` [PATCH 1/4] lockup_detector: Update some config Frederic Weisbecker
                       ` (3 subsequent siblings)
  5 siblings, 1 reply; 14+ messages in thread
From: Frederic Weisbecker @ 2010-05-16  2:33 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: LKML, Frederic Weisbecker, Don Zickus, Peter Zijlstra,
	Cyrill Gorcunov, Stephen Rothwell

Ingo,

Please pull the perf/nmi branch that can be found at:

git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing.git
	perf/nmi

Thanks,
	Frederic
---

Frederic Weisbecker (3):
      lockup_detector: Update some config
      lockup_detector: Adapt CONFIG_PERF_EVENT_NMI to other archs
      lockup_detector: Introduce CONFIG_HARDLOCKUP_DETECTOR

Don Zickus (1):
      lockup_detector: Cross arch compile fixes


 arch/Kconfig                  |    7 +++++++
 arch/x86/Kconfig              |    2 +-
 arch/x86/kernel/apic/Makefile |    4 ++--
 include/linux/nmi.h           |    2 +-
 init/Kconfig                  |    8 --------
 kernel/watchdog.c             |   21 ++++++++++++---------
 lib/Kconfig.debug             |   28 ++++++----------------------
 7 files changed, 29 insertions(+), 43 deletions(-)

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

* [PATCH 1/4] lockup_detector: Update some config
  2010-05-15  7:37   ` Ingo Molnar
  2010-05-15 20:28     ` Frederic Weisbecker
  2010-05-16  2:33     ` [GIT PULL] Lockup detector build fixes Frederic Weisbecker
@ 2010-05-16  2:33     ` Frederic Weisbecker
  2010-05-16  2:33     ` [PATCH 2/4] lockup_detector: Adapt CONFIG_PERF_EVENT_NMI to other archs Frederic Weisbecker
                       ` (2 subsequent siblings)
  5 siblings, 0 replies; 14+ messages in thread
From: Frederic Weisbecker @ 2010-05-16  2:33 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: LKML, Frederic Weisbecker, Ingo Molnar, Don Zickus,
	Peter Zijlstra, Cyrill Gorcunov

We kept CONFIG_DETECT_SOFTLOCKUP around for compatibility with
older configs. But it was enabled by default if CONFIG_DEBUG_KERNEL.

So if we want to enable CONFIG_LOCKUP_DETECTOR on configs that had
CONFIG_DETECT_SOFTLOCKUP, all we need is to have the same enabling
by default if CONFIG_DEBUG_KERNEL. We can then remove
CONFIG_DETECT_SOFTLOCKUP directly.

So tag CONFIG_LOCKUP_DETECTOR as default y. This is what we want for
most serious kernel debugging anyway.

And also forbid the lockup detector in S390 as it was for the
previous softlockup detector, event though the true reason for that
is not outlined.

Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Don Zickus <dzickus@redhat.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Cyrill Gorcunov <gorcunov@gmail.com>
---
 lib/Kconfig.debug |   25 +++----------------------
 1 files changed, 3 insertions(+), 22 deletions(-)

diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index 755713a..3a18b0b 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -152,29 +152,10 @@ config DEBUG_SHIRQ
 	  Drivers ought to be able to handle interrupts coming in at those
 	  points; some don't and need to be caught.
 
-config DETECT_SOFTLOCKUP
-	bool
-	depends on DEBUG_KERNEL && !S390
-	default y
-	help
-	  Say Y here to enable the kernel to detect "soft lockups",
-	  which are bugs that cause the kernel to loop in kernel
-	  mode for more than 60 seconds, without giving other tasks a
-	  chance to run.
-
-	  When a soft-lockup is detected, the kernel will print the
-	  current stack trace (which you should report), but the
-	  system will stay locked up. This feature has negligible
-	  overhead.
-
-	  (Note that "hard lockups" are separate type of bugs that
-	   can be detected via the NMI-watchdog, on platforms that
-	   support it.)
-
 config LOCKUP_DETECTOR
 	bool "Detect Hard and Soft Lockups"
-	depends on DEBUG_KERNEL
-	default DETECT_SOFTLOCKUP
+	depends on DEBUG_KERNEL && !S390
+	default y
 	help
 	  Say Y here to enable the kernel to act as a watchdog to detect
 	  hard and soft lockups.
@@ -212,7 +193,7 @@ config BOOTPARAM_SOFTLOCKUP_PANIC
 
 config BOOTPARAM_SOFTLOCKUP_PANIC_VALUE
 	int
-	depends on DETECT_SOFTLOCKUP
+	depends on LOCKUP_DETECTOR
 	range 0 1
 	default 0 if !BOOTPARAM_SOFTLOCKUP_PANIC
 	default 1 if BOOTPARAM_SOFTLOCKUP_PANIC
-- 
1.6.2.3


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

* [PATCH 2/4] lockup_detector: Adapt CONFIG_PERF_EVENT_NMI to other archs
  2010-05-15  7:37   ` Ingo Molnar
                       ` (2 preceding siblings ...)
  2010-05-16  2:33     ` [PATCH 1/4] lockup_detector: Update some config Frederic Weisbecker
@ 2010-05-16  2:33     ` Frederic Weisbecker
  2010-05-16  2:33     ` [PATCH 3/4] lockup_detector: Introduce CONFIG_HARDLOCKUP_DETECTOR Frederic Weisbecker
  2010-05-16  2:34     ` [PATCH 4/4] lockup_detector: Cross arch compile fixes Frederic Weisbecker
  5 siblings, 0 replies; 14+ messages in thread
From: Frederic Weisbecker @ 2010-05-16  2:33 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: LKML, Frederic Weisbecker, Ingo Molnar, Peter Zijlstra,
	Don Zickus, Cyrill Gorcunov

CONFIG_PERF_EVENT_NMI is something that need to be enabled from the
arch. This is fine on x86 as PERF_EVENTS is builtin but if other
archs select it, they will need to handle the PERF_EVENTS dependency.

Instead, handle the dependency in the generic layer:

- archs need to tell what they support through HAVE_PERF_EVENTS_NMI
- Enable magically PERF_EVENTS_NMI if we have PERF_EVENTS and
  HAVE_PERF_EVENTS_NMI.

Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Don Zickus <dzickus@redhat.com>
Cc: Cyrill Gorcunov <gorcunov@gmail.com>
---
 arch/Kconfig     |    3 +++
 arch/x86/Kconfig |    2 +-
 init/Kconfig     |    3 +--
 3 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/arch/Kconfig b/arch/Kconfig
index e5eb133..89b0efb 100644
--- a/arch/Kconfig
+++ b/arch/Kconfig
@@ -145,4 +145,7 @@ config HAVE_HW_BREAKPOINT
 config HAVE_USER_RETURN_NOTIFIER
 	bool
 
+config HAVE_PERF_EVENTS_NMI
+	bool
+
 source "kernel/gcov/Kconfig"
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 3cb28cd..3cb5bb0 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -54,7 +54,7 @@ config X86
 	select HAVE_KERNEL_LZO
 	select HAVE_HW_BREAKPOINT
 	select PERF_EVENTS
-	select PERF_EVENTS_NMI
+	select HAVE_PERF_EVENTS_NMI
 	select ANON_INODES
 	select HAVE_ARCH_KMEMCHECK
 	select HAVE_USER_RETURN_NOTIFIER
diff --git a/init/Kconfig b/init/Kconfig
index e44e254..ab733c3 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -943,8 +943,7 @@ config PERF_USE_VMALLOC
 	  See tools/perf/design.txt for details
 
 config PERF_EVENTS_NMI
-	bool
-	depends on PERF_EVENTS
+	def_bool PERF_EVENTS && HAVE_PERF_EVENTS_NMI
 	help
 	  System hardware can generate an NMI using the perf event
 	  subsystem.  Also has support for calculating CPU cycle events
-- 
1.6.2.3


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

* [PATCH 3/4] lockup_detector: Introduce CONFIG_HARDLOCKUP_DETECTOR
  2010-05-15  7:37   ` Ingo Molnar
                       ` (3 preceding siblings ...)
  2010-05-16  2:33     ` [PATCH 2/4] lockup_detector: Adapt CONFIG_PERF_EVENT_NMI to other archs Frederic Weisbecker
@ 2010-05-16  2:33     ` Frederic Weisbecker
  2010-05-16  2:34     ` [PATCH 4/4] lockup_detector: Cross arch compile fixes Frederic Weisbecker
  5 siblings, 0 replies; 14+ messages in thread
From: Frederic Weisbecker @ 2010-05-16  2:33 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: LKML, Frederic Weisbecker, Ingo Molnar, Peter Zijlstra,
	Don Zickus, Cyrill Gorcunov

This new config is deemed to simplify even more the lockup detector
dependencies and can make it easier to bring a smooth sorting
between archs that support the new generic lockup detector and those
that still have their own, especially for those that are in the
middle of this migration.

Instead of checking whether we have CONFIG_LOCKUP_DETECTOR +
CONFIG_PERF_EVENTS_NMI each time an arch wants to know if it needs
to build its own lockup detector, take a shortcut with this new
config. It is enabled only if the hardlockup detection part of
the whole lockup detector is on.

Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Don Zickus <dzickus@redhat.com>
Cc: Cyrill Gorcunov <gorcunov@gmail.com>
---
 arch/Kconfig      |    4 ++++
 init/Kconfig      |    7 -------
 kernel/watchdog.c |   14 +++++++-------
 lib/Kconfig.debug |    3 +++
 4 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/arch/Kconfig b/arch/Kconfig
index 89b0efb..35084f2 100644
--- a/arch/Kconfig
+++ b/arch/Kconfig
@@ -147,5 +147,9 @@ config HAVE_USER_RETURN_NOTIFIER
 
 config HAVE_PERF_EVENTS_NMI
 	bool
+	help
+	  System hardware can generate an NMI using the perf event
+	  subsystem.  Also has support for calculating CPU cycle events
+	  to determine how many clock cycles in a given period.
 
 source "kernel/gcov/Kconfig"
diff --git a/init/Kconfig b/init/Kconfig
index ab733c3..eb77e8c 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -942,13 +942,6 @@ config PERF_USE_VMALLOC
 	help
 	  See tools/perf/design.txt for details
 
-config PERF_EVENTS_NMI
-	def_bool PERF_EVENTS && HAVE_PERF_EVENTS_NMI
-	help
-	  System hardware can generate an NMI using the perf event
-	  subsystem.  Also has support for calculating CPU cycle events
-	  to determine how many clock cycles in a given period.
-
 menu "Kernel Performance Events And Counters"
 
 config PERF_EVENTS
diff --git a/kernel/watchdog.c b/kernel/watchdog.c
index be5e74e..83fb631 100644
--- a/kernel/watchdog.c
+++ b/kernel/watchdog.c
@@ -37,7 +37,7 @@ static DEFINE_PER_CPU(struct hrtimer, watchdog_hrtimer);
 static DEFINE_PER_CPU(bool, softlockup_touch_sync);
 static DEFINE_PER_CPU(bool, hard_watchdog_warn);
 static DEFINE_PER_CPU(bool, soft_watchdog_warn);
-#ifdef CONFIG_PERF_EVENTS_NMI
+#ifdef CONFIG_HARDLOCKUP_DETECTOR
 static DEFINE_PER_CPU(unsigned long, hrtimer_interrupts);
 static DEFINE_PER_CPU(unsigned long, hrtimer_interrupts_saved);
 static DEFINE_PER_CPU(struct perf_event *, watchdog_ev);
@@ -51,7 +51,7 @@ static int __initdata no_watchdog;
 /*
  * Should we panic when a soft-lockup or hard-lockup occurs:
  */
-#ifdef CONFIG_PERF_EVENTS_NMI
+#ifdef CONFIG_HARDLOCKUP_DETECTOR
 static int hardlockup_panic;
 
 static int __init hardlockup_panic_setup(char *str)
@@ -152,7 +152,7 @@ void touch_softlockup_watchdog_sync(void)
 	__raw_get_cpu_var(watchdog_touch_ts) = 0;
 }
 
-#ifdef CONFIG_PERF_EVENTS_NMI
+#ifdef CONFIG_HARDLOCKUP_DETECTOR
 /* watchdog detector functions */
 static int is_hardlockup(int cpu)
 {
@@ -189,7 +189,7 @@ static struct notifier_block panic_block = {
 	.notifier_call = watchdog_panic,
 };
 
-#ifdef CONFIG_PERF_EVENTS_NMI
+#ifdef CONFIG_HARDLOCKUP_DETECTOR
 static struct perf_event_attr wd_hw_attr = {
 	.type		= PERF_TYPE_HARDWARE,
 	.config		= PERF_COUNT_HW_CPU_CYCLES,
@@ -239,7 +239,7 @@ static void watchdog_interrupt_count(void)
 }
 #else
 static inline void watchdog_interrupt_count(void) { return; }
-#endif /* CONFIG_PERF_EVENTS_NMI */
+#endif /* CONFIG_HARDLOCKUP_DETECTOR */
 
 /* watchdog kicker functions */
 static enum hrtimer_restart watchdog_timer_fn(struct hrtimer *hrtimer)
@@ -342,7 +342,7 @@ static int watchdog(void *__bind_cpu)
 }
 
 
-#ifdef CONFIG_PERF_EVENTS_NMI
+#ifdef CONFIG_HARDLOCKUP_DETECTOR
 static int watchdog_nmi_enable(int cpu)
 {
 	struct perf_event_attr *wd_attr;
@@ -393,7 +393,7 @@ static void watchdog_nmi_disable(int cpu)
 #else
 static int watchdog_nmi_enable(int cpu) { return 0; }
 static void watchdog_nmi_disable(int cpu) { return; }
-#endif /* CONFIG_PERF_EVENTS_NMI */
+#endif /* CONFIG_HARDLOCKUP_DETECTOR */
 
 /* prepare/enable/disable routines */
 static int watchdog_prepare_cpu(int cpu)
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index 3a18b0b..e65e47d 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -174,6 +174,9 @@ config LOCKUP_DETECTOR
 	  generate interrupts and kick the watchdog task every 10-12 seconds.
 	  An NMI is generated every 60 seconds or so to check for hardlockups.
 
+config HARDLOCKUP_DETECTOR
+	def_bool LOCKUP_DETECTOR && PERF_EVENTS && HAVE_PERF_EVENTS_NMI
+
 config BOOTPARAM_SOFTLOCKUP_PANIC
 	bool "Panic (Reboot) On Soft Lockups"
 	depends on LOCKUP_DETECTOR
-- 
1.6.2.3


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

* [PATCH 4/4] lockup_detector: Cross arch compile fixes
  2010-05-15  7:37   ` Ingo Molnar
                       ` (4 preceding siblings ...)
  2010-05-16  2:33     ` [PATCH 3/4] lockup_detector: Introduce CONFIG_HARDLOCKUP_DETECTOR Frederic Weisbecker
@ 2010-05-16  2:34     ` Frederic Weisbecker
  5 siblings, 0 replies; 14+ messages in thread
From: Frederic Weisbecker @ 2010-05-16  2:34 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: LKML, Don Zickus, Ingo Molnar, Peter Zijlstra, Cyrill Gorcunov,
	Frederic Weisbecker

From: Don Zickus <dzickus@redhat.com>

Combining the softlockup and hardlockup code causes watchdog.c
to build even without the hardlockup detection support.

So if an arch, that has the previous and the new nmi watchdog
implementations cohabiting, wants to know if the generic one
is in use, CONFIG_LOCKUP_DETECTOR is not a reliable check.
We need to use CONFIG_HARDLOCKUP_DETECTOR instead.

Fixes:
	kernel/built-in.o: In function `touch_nmi_watchdog':
	(.text+0x449bc): multiple definition of `touch_nmi_watchdog'
	arch/sparc/kernel/built-in.o:(.text+0x11b28): first defined here

Signed-off-by: Don Zickus <dzickus@redhat.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Don Zickus <dzickus@redhat.com>
Cc: Cyrill Gorcunov <gorcunov@gmail.com>
LKML-Reference: <20100514151121.GR15159@redhat.com>
[ use CONFIG_HARDLOCKUP_DETECTOR instead of CONFIG_PERF_EVENTS_NMI]
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
---
 arch/x86/kernel/apic/Makefile |    4 ++--
 include/linux/nmi.h           |    2 +-
 kernel/watchdog.c             |    7 +++++--
 3 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/arch/x86/kernel/apic/Makefile b/arch/x86/kernel/apic/Makefile
index 52f32e0..910f20b 100644
--- a/arch/x86/kernel/apic/Makefile
+++ b/arch/x86/kernel/apic/Makefile
@@ -3,10 +3,10 @@
 #
 
 obj-$(CONFIG_X86_LOCAL_APIC)	+= apic.o apic_noop.o probe_$(BITS).o ipi.o
-ifneq ($(CONFIG_LOCKUP_DETECTOR),y)
+ifneq ($(CONFIG_HARDLOCKUP_DETECTOR),y)
 obj-$(CONFIG_X86_LOCAL_APIC)	+= nmi.o
 endif
-obj-$(CONFIG_LOCKUP_DETECTOR)	+= hw_nmi.o
+obj-$(CONFIG_HARDLOCKUP_DETECTOR)	+= hw_nmi.o
 
 obj-$(CONFIG_X86_IO_APIC)	+= io_apic.o
 obj-$(CONFIG_SMP)		+= ipi.o
diff --git a/include/linux/nmi.h b/include/linux/nmi.h
index abd48aa..06aab5e 100644
--- a/include/linux/nmi.h
+++ b/include/linux/nmi.h
@@ -20,7 +20,7 @@ extern void touch_nmi_watchdog(void);
 extern void acpi_nmi_disable(void);
 extern void acpi_nmi_enable(void);
 #else
-#ifndef CONFIG_LOCKUP_DETECTOR
+#ifndef CONFIG_HARDLOCKUP_DETECTOR
 static inline void touch_nmi_watchdog(void)
 {
 	touch_softlockup_watchdog();
diff --git a/kernel/watchdog.c b/kernel/watchdog.c
index 83fb631..e53622c 100644
--- a/kernel/watchdog.c
+++ b/kernel/watchdog.c
@@ -31,13 +31,13 @@ int watchdog_enabled;
 int __read_mostly softlockup_thresh = 60;
 
 static DEFINE_PER_CPU(unsigned long, watchdog_touch_ts);
-static DEFINE_PER_CPU(bool, watchdog_nmi_touch);
 static DEFINE_PER_CPU(struct task_struct *, softlockup_watchdog);
 static DEFINE_PER_CPU(struct hrtimer, watchdog_hrtimer);
 static DEFINE_PER_CPU(bool, softlockup_touch_sync);
-static DEFINE_PER_CPU(bool, hard_watchdog_warn);
 static DEFINE_PER_CPU(bool, soft_watchdog_warn);
 #ifdef CONFIG_HARDLOCKUP_DETECTOR
+static DEFINE_PER_CPU(bool, hard_watchdog_warn);
+static DEFINE_PER_CPU(bool, watchdog_nmi_touch);
 static DEFINE_PER_CPU(unsigned long, hrtimer_interrupts);
 static DEFINE_PER_CPU(unsigned long, hrtimer_interrupts_saved);
 static DEFINE_PER_CPU(struct perf_event *, watchdog_ev);
@@ -139,6 +139,7 @@ void touch_all_softlockup_watchdogs(void)
 		per_cpu(watchdog_touch_ts, cpu) = 0;
 }
 
+#ifdef CONFIG_HARDLOCKUP_DETECTOR
 void touch_nmi_watchdog(void)
 {
 	__get_cpu_var(watchdog_nmi_touch) = true;
@@ -146,6 +147,8 @@ void touch_nmi_watchdog(void)
 }
 EXPORT_SYMBOL(touch_nmi_watchdog);
 
+#endif
+
 void touch_softlockup_watchdog_sync(void)
 {
 	__raw_get_cpu_var(softlockup_touch_sync) = true;
-- 
1.6.2.3


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

* Re: [GIT PULL] Lockup detector build fixes
  2010-05-16  2:33     ` [GIT PULL] Lockup detector build fixes Frederic Weisbecker
@ 2010-05-16  2:36       ` Frederic Weisbecker
  2010-05-16  7:56         ` Ingo Molnar
  0 siblings, 1 reply; 14+ messages in thread
From: Frederic Weisbecker @ 2010-05-16  2:36 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: LKML, Don Zickus, Peter Zijlstra, Cyrill Gorcunov, Stephen Rothwell

On Sun, May 16, 2010 at 04:33:56AM +0200, Frederic Weisbecker wrote:
> Ingo,
> 
> Please pull the perf/nmi branch that can be found at:
> 
> git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing.git
> 	perf/nmi
> 
> Thanks,
> 	Frederic


Tested on x86 and Sparc 64 with and without CONFIG_LOCKUP_DETECTOR.
No problem so far. Tell me if you find any.


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

* Re: [GIT PULL] Lockup detector build fixes
  2010-05-16  2:36       ` Frederic Weisbecker
@ 2010-05-16  7:56         ` Ingo Molnar
  2010-05-17 13:44           ` Don Zickus
  0 siblings, 1 reply; 14+ messages in thread
From: Ingo Molnar @ 2010-05-16  7:56 UTC (permalink / raw)
  To: Frederic Weisbecker
  Cc: LKML, Don Zickus, Peter Zijlstra, Cyrill Gorcunov, Stephen Rothwell


* Frederic Weisbecker <fweisbec@gmail.com> wrote:

> On Sun, May 16, 2010 at 04:33:56AM +0200, Frederic Weisbecker wrote:
> > Ingo,
> > 
> > Please pull the perf/nmi branch that can be found at:
> > 
> > git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing.git
> > 	perf/nmi
> > 
> > Thanks,
> > 	Frederic
> 
> 
> Tested on x86 and Sparc 64 with and without 
> CONFIG_LOCKUP_DETECTOR. No problem so far. Tell me 
> if you find any.

Looks good so far. Pulled, thanks Frederic!

	Ingo

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

* [tip:perf/nmi] lockup_detector: Cross arch compile fixes
  2010-05-14 15:11 ` linux-next: build failure after merge of the final tree Don Zickus
@ 2010-05-16  9:20   ` tip-bot for Don Zickus
  0 siblings, 0 replies; 14+ messages in thread
From: tip-bot for Don Zickus @ 2010-05-16  9:20 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: linux-kernel, hpa, mingo, a.p.zijlstra, gorcunov, fweisbec, tglx,
	dzickus, mingo

Commit-ID:  cafcd80d216bc2136b8edbb794327e495792c666
Gitweb:     http://git.kernel.org/tip/cafcd80d216bc2136b8edbb794327e495792c666
Author:     Don Zickus <dzickus@redhat.com>
AuthorDate: Fri, 14 May 2010 11:11:21 -0400
Committer:  Frederic Weisbecker <fweisbec@gmail.com>
CommitDate: Sun, 16 May 2010 04:25:14 +0200

lockup_detector: Cross arch compile fixes

Combining the softlockup and hardlockup code causes watchdog.c
to build even without the hardlockup detection support.

So if an arch, that has the previous and the new nmi watchdog
implementations cohabiting, wants to know if the generic one
is in use, CONFIG_LOCKUP_DETECTOR is not a reliable check.
We need to use CONFIG_HARDLOCKUP_DETECTOR instead.

Fixes:
	kernel/built-in.o: In function `touch_nmi_watchdog':
	(.text+0x449bc): multiple definition of `touch_nmi_watchdog'
	arch/sparc/kernel/built-in.o:(.text+0x11b28): first defined here

Signed-off-by: Don Zickus <dzickus@redhat.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Don Zickus <dzickus@redhat.com>
Cc: Cyrill Gorcunov <gorcunov@gmail.com>
LKML-Reference: <20100514151121.GR15159@redhat.com>
[ use CONFIG_HARDLOCKUP_DETECTOR instead of CONFIG_PERF_EVENTS_NMI]
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
---
 arch/x86/kernel/apic/Makefile |    4 ++--
 include/linux/nmi.h           |    2 +-
 kernel/watchdog.c             |    7 +++++--
 3 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/arch/x86/kernel/apic/Makefile b/arch/x86/kernel/apic/Makefile
index 52f32e0..910f20b 100644
--- a/arch/x86/kernel/apic/Makefile
+++ b/arch/x86/kernel/apic/Makefile
@@ -3,10 +3,10 @@
 #
 
 obj-$(CONFIG_X86_LOCAL_APIC)	+= apic.o apic_noop.o probe_$(BITS).o ipi.o
-ifneq ($(CONFIG_LOCKUP_DETECTOR),y)
+ifneq ($(CONFIG_HARDLOCKUP_DETECTOR),y)
 obj-$(CONFIG_X86_LOCAL_APIC)	+= nmi.o
 endif
-obj-$(CONFIG_LOCKUP_DETECTOR)	+= hw_nmi.o
+obj-$(CONFIG_HARDLOCKUP_DETECTOR)	+= hw_nmi.o
 
 obj-$(CONFIG_X86_IO_APIC)	+= io_apic.o
 obj-$(CONFIG_SMP)		+= ipi.o
diff --git a/include/linux/nmi.h b/include/linux/nmi.h
index abd48aa..06aab5e 100644
--- a/include/linux/nmi.h
+++ b/include/linux/nmi.h
@@ -20,7 +20,7 @@ extern void touch_nmi_watchdog(void);
 extern void acpi_nmi_disable(void);
 extern void acpi_nmi_enable(void);
 #else
-#ifndef CONFIG_LOCKUP_DETECTOR
+#ifndef CONFIG_HARDLOCKUP_DETECTOR
 static inline void touch_nmi_watchdog(void)
 {
 	touch_softlockup_watchdog();
diff --git a/kernel/watchdog.c b/kernel/watchdog.c
index 83fb631..e53622c 100644
--- a/kernel/watchdog.c
+++ b/kernel/watchdog.c
@@ -31,13 +31,13 @@ int watchdog_enabled;
 int __read_mostly softlockup_thresh = 60;
 
 static DEFINE_PER_CPU(unsigned long, watchdog_touch_ts);
-static DEFINE_PER_CPU(bool, watchdog_nmi_touch);
 static DEFINE_PER_CPU(struct task_struct *, softlockup_watchdog);
 static DEFINE_PER_CPU(struct hrtimer, watchdog_hrtimer);
 static DEFINE_PER_CPU(bool, softlockup_touch_sync);
-static DEFINE_PER_CPU(bool, hard_watchdog_warn);
 static DEFINE_PER_CPU(bool, soft_watchdog_warn);
 #ifdef CONFIG_HARDLOCKUP_DETECTOR
+static DEFINE_PER_CPU(bool, hard_watchdog_warn);
+static DEFINE_PER_CPU(bool, watchdog_nmi_touch);
 static DEFINE_PER_CPU(unsigned long, hrtimer_interrupts);
 static DEFINE_PER_CPU(unsigned long, hrtimer_interrupts_saved);
 static DEFINE_PER_CPU(struct perf_event *, watchdog_ev);
@@ -139,6 +139,7 @@ void touch_all_softlockup_watchdogs(void)
 		per_cpu(watchdog_touch_ts, cpu) = 0;
 }
 
+#ifdef CONFIG_HARDLOCKUP_DETECTOR
 void touch_nmi_watchdog(void)
 {
 	__get_cpu_var(watchdog_nmi_touch) = true;
@@ -146,6 +147,8 @@ void touch_nmi_watchdog(void)
 }
 EXPORT_SYMBOL(touch_nmi_watchdog);
 
+#endif
+
 void touch_softlockup_watchdog_sync(void)
 {
 	__raw_get_cpu_var(softlockup_touch_sync) = true;

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

* Re: [GIT PULL] Lockup detector build fixes
  2010-05-16  7:56         ` Ingo Molnar
@ 2010-05-17 13:44           ` Don Zickus
  0 siblings, 0 replies; 14+ messages in thread
From: Don Zickus @ 2010-05-17 13:44 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Frederic Weisbecker, LKML, Peter Zijlstra, Cyrill Gorcunov,
	Stephen Rothwell

On Sun, May 16, 2010 at 09:56:05AM +0200, Ingo Molnar wrote:
> 
> * Frederic Weisbecker <fweisbec@gmail.com> wrote:
> 
> > On Sun, May 16, 2010 at 04:33:56AM +0200, Frederic Weisbecker wrote:
> > > Ingo,
> > > 
> > > Please pull the perf/nmi branch that can be found at:
> > > 
> > > git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing.git
> > > 	perf/nmi
> > > 
> > > Thanks,
> > > 	Frederic
> > 
> > 
> > Tested on x86 and Sparc 64 with and without 
> > CONFIG_LOCKUP_DETECTOR. No problem so far. Tell me 
> > if you find any.
> 
> Looks good so far. Pulled, thanks Frederic!

Thanks Frederic!

Cheers,
Don

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

end of thread, other threads:[~2010-05-17 13:44 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-05-14  5:53 linux-next: build failure after merge of the final tree Stephen Rothwell
2010-05-14 15:03 ` Don Zickus
2010-05-15  7:37   ` Ingo Molnar
2010-05-15 20:28     ` Frederic Weisbecker
2010-05-16  2:33     ` [GIT PULL] Lockup detector build fixes Frederic Weisbecker
2010-05-16  2:36       ` Frederic Weisbecker
2010-05-16  7:56         ` Ingo Molnar
2010-05-17 13:44           ` Don Zickus
2010-05-16  2:33     ` [PATCH 1/4] lockup_detector: Update some config Frederic Weisbecker
2010-05-16  2:33     ` [PATCH 2/4] lockup_detector: Adapt CONFIG_PERF_EVENT_NMI to other archs Frederic Weisbecker
2010-05-16  2:33     ` [PATCH 3/4] lockup_detector: Introduce CONFIG_HARDLOCKUP_DETECTOR Frederic Weisbecker
2010-05-16  2:34     ` [PATCH 4/4] lockup_detector: Cross arch compile fixes Frederic Weisbecker
2010-05-14 15:11 ` linux-next: build failure after merge of the final tree Don Zickus
2010-05-16  9:20   ` [tip:perf/nmi] lockup_detector: Cross arch compile fixes tip-bot for Don Zickus

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).