linux-next.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Don Zickus <dzickus@redhat.com>
To: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@elte.hu>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Peter Zijlstra <peterz@infradead.org>,
	linux-next@vger.kernel.org, linux-kernel@vger.kernel.org,
	David Miller <davem@davemloft.net>
Subject: Re: linux-next: build failure after merge of the final tree
Date: Fri, 14 May 2010 11:11:21 -0400	[thread overview]
Message-ID: <20100514151121.GR15159@redhat.com> (raw)
In-Reply-To: <20100514155312.9684cb9d.sfr@canb.auug.org.au>

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;

  parent reply	other threads:[~2010-05-14 15:12 UTC|newest]

Thread overview: 185+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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-14 15:11 ` Don Zickus [this message]
  -- strict thread matches above, loose matches on Subject: below --
2014-05-28  9:46 Stephen Rothwell
2014-05-28  9:57 ` Paul Bolle
2014-05-28 10:14   ` Paul Bolle
2014-05-28 20:21     ` Paul Bolle
2014-05-28 20:42       ` Greg KH
2014-05-28 20:48         ` Paul Bolle
2014-05-28 21:15           ` Greg KH
2014-05-28 10:24   ` Stephen Rothwell
2014-04-07  4:52 Stephen Rothwell
2014-04-07 18:26 ` Andrew Morton
2014-04-07 21:51   ` Stephen Rothwell
2014-01-30  3:55 Stephen Rothwell
2014-01-06  9:28 Stephen Rothwell
2014-01-06 23:12 ` Benjamin Herrenschmidt
2013-12-17  5:59 Stephen Rothwell
2013-12-17  8:26 ` Heiko Stübner
2013-12-16  5:47 Stephen Rothwell
2013-12-16  7:08 ` Krzysztof Kozlowski
2013-12-16 11:45   ` Mark Brown
2013-12-16 12:13     ` Krzysztof Kozlowski
2013-12-16 12:33       ` Mark Brown
2013-12-16 13:29         ` Stephen Rothwell
2013-11-18  3:19 Stephen Rothwell
2013-11-18  8:49 ` Kirill A. Shutemov
2013-11-18 23:09   ` David Miller
2013-11-18  3:01 Stephen Rothwell
2013-11-04  6:52 Stephen Rothwell
2013-11-04 17:06 ` Mark Brown
2013-10-29  9:16 Stephen Rothwell
2013-10-29 13:11 ` Linus Walleij
2013-10-29 13:20   ` Linus Walleij
2013-09-27  8:32 Stephen Rothwell
2013-09-27 14:40 ` Chris Ball
2013-08-20  7:20 Stephen Rothwell
2013-08-20 16:07 ` Dwight Engen
2013-08-20 19:28   ` Ben Myers
2013-08-21  0:22     ` Stephen Rothwell
2013-08-21 15:54       ` Ben Myers
2013-08-20 20:46   ` Arnd Bergmann
2013-08-21  5:08     ` Dwight Engen
2013-08-21  6:30       ` Jeremy Kerr
2013-08-21 15:56         ` Ben Myers
2013-03-12  4:30 Stephen Rothwell
2013-03-12  9:31 ` Daniel Hellstrom
2013-03-12 11:57   ` Stephen Rothwell
2013-03-12 16:13     ` Dmitry Torokhov
2013-03-13 11:20       ` Daniel Hellstrom
2013-02-06  7:30 Stephen Rothwell
2013-02-06  7:42 ` Stephen Rothwell
2013-02-06 17:52   ` Greg Kroah-Hartman
2013-02-06 18:40     ` David Miller
2012-10-16  3:50 Stephen Rothwell
2012-10-16  4:21 ` Al Viro
2012-07-31  5:14 Stephen Rothwell
2012-07-19  7:08 Stephen Rothwell
2012-07-19 13:53 ` Javier Muñoz
2012-07-05  8:33 Stephen Rothwell
2012-07-05  9:43 ` Alan Modra
2012-07-06  0:21   ` Stephen Rothwell
2012-07-06  0:57     ` Alan Modra
2012-07-06  3:01       ` Stephen Rothwell
2012-07-06  6:08         ` Alan Modra
2012-05-22  8:20 Stephen Rothwell
2012-05-22 19:05 ` David Miller
2012-05-23  2:08   ` Stephen Rothwell
2012-05-21  8:54 Stephen Rothwell
2012-05-21  9:12 ` Ingo Molnar
2012-05-21  9:15   ` Stephen Rothwell
2012-05-22  8:25   ` Stephen Rothwell
2012-05-23 15:35     ` Ingo Molnar
2012-05-24  7:16       ` Stephen Rothwell
2012-05-24  7:22         ` Ingo Molnar
2012-05-24 14:06         ` H. Peter Anvin
2012-02-27  7:06 Stephen Rothwell
2012-02-27 21:17 ` Greg KH
2012-02-27 21:24   ` Alan Cox
2012-02-27  7:05 Stephen Rothwell
2012-02-27  6:37 Stephen Rothwell
2012-02-27  9:19 ` Benjamin Herrenschmidt
2012-02-27 23:30   ` Benjamin Herrenschmidt
2012-01-20  7:21 Stephen Rothwell
2012-01-20  9:08 ` Deepthi Dharwar
2012-01-20  7:11 Stephen Rothwell
2012-01-20  7:34 ` Andrew Morton
2012-01-20  8:21   ` Sebastian Andrzej Siewior
2012-01-05  8:04 Stephen Rothwell
2012-01-06  0:04 ` Andrew Morton
2012-01-09  5:59   ` Stephen Rothwell
2012-01-09  6:20     ` Stephen Rothwell
2012-01-09 15:42       ` Greg KH
2012-01-09 15:54         ` Steven Rostedt
2012-01-09 16:27           ` Stephen Rothwell
2012-01-09 16:26         ` Stephen Rothwell
2012-01-09 21:35     ` David Miller
2012-01-09 21:41       ` Steven Rostedt
2011-12-17  4:22 Stephen Rothwell
2011-12-17  4:27 ` Stephen Rothwell
2011-09-30  1:38 Stephen Rothwell
2011-09-30  2:49 ` Yoshihiro Shimoda
2011-09-30  1:23 Stephen Rothwell
2011-09-30  1:12 Stephen Rothwell
2011-09-30  2:40 ` Paul Gortmaker
2011-09-30  3:05   ` Stephen Rothwell
2011-09-30  3:22     ` Paul Gortmaker
2011-09-30  1:05 Stephen Rothwell
2011-09-30  7:57 ` Heiko Carstens
2011-09-28  9:56 Stephen Rothwell
2011-09-28 12:02 ` huang ying
2011-08-23  5:48 Stephen Rothwell
2011-08-23 14:32 ` Randy Dunlap
2011-07-18  9:35 Stephen Rothwell
2011-07-18  9:30 Stephen Rothwell
2011-07-18 17:58 ` David Miller
2011-07-18 20:52   ` Sam Ravnborg
2011-05-27  5:11 Stephen Rothwell
2011-05-27 14:47 ` Mike Frysinger
2011-05-23  4:56 Stephen Rothwell
2011-05-23  5:17 ` Artem Bityutskiy
2011-05-20  6:32 Stephen Rothwell
2011-05-20  6:27 Stephen Rothwell
2011-05-20  6:23 Stephen Rothwell
2011-05-20  6:18 Stephen Rothwell
2011-05-24  2:06 ` Mike Frysinger
2011-05-24  2:51   ` Greg KH
2011-05-24  3:59     ` Stephen Rothwell
2011-05-24 12:48       ` Greg KH
2011-05-24 21:52         ` Stephen Rothwell
2011-05-24  4:01   ` Linus Torvalds
2011-05-24  4:10     ` Mike Frysinger
2011-05-24 17:10       ` Mike Frysinger
2011-05-24 17:29         ` Linus Torvalds
2011-05-25  9:24         ` Felipe Balbi
2011-05-25 12:13           ` Mike Frysinger
2011-05-20  6:12 Stephen Rothwell
2011-05-20 15:24 ` Linus Torvalds
2011-05-20 16:16   ` Thomas Gleixner
2011-05-20 16:29     ` Linus Torvalds
2011-03-28  3:44 Stephen Rothwell
2011-03-24  3:30 Stephen Rothwell
2011-03-24  4:13 ` Andrew Morton
2011-03-24 19:55   ` Tony Luck
2011-01-31  6:26 Stephen Rothwell
2011-01-15  2:10 Stephen Rothwell
2011-01-15  4:27 ` Andrea Arcangeli
2010-11-29  2:07 Stephen Rothwell
2010-11-09  4:03 Stephen Rothwell
2010-09-16  5:15 Stephen Rothwell
2010-09-16  5:47 ` Takashi Iwai
2010-08-11  3:38 Stephen Rothwell
2010-08-11  5:23 ` Andrew Morton
2010-08-11  7:38   ` Stephen Rothwell
2010-07-27  7:00 Stephen Rothwell
2010-07-16  7:11 Stephen Rothwell
2010-07-16 18:39 ` Yinghai Lu
2010-07-16 20:58   ` Russell King
2010-07-16 23:07     ` Stephen Rothwell
2010-06-23 16:19 Stephen Rothwell
2010-06-24  0:36 ` Stephen Rothwell
2010-06-24  9:00   ` Catalin Marinas
2010-06-24  9:09     ` Russell King
2010-06-24 10:18     ` Phil Carmody
2010-05-25  4:10 Stephen Rothwell
2010-05-25  4:58 ` David Miller
2010-05-25  5:14   ` Herbert Xu
2010-05-25  6:56     ` David Miller
2010-04-27  5:49 Stephen Rothwell
2010-04-28  9:41 ` Alexander Graf
2010-04-28  9:48   ` Avi Kivity
2010-04-28 15:21 ` Marcelo Tosatti
2010-04-08  5:35 Stephen Rothwell
2010-04-08  6:25 ` David Miller
2010-04-08 14:15   ` John Linn
2010-04-08 22:59     ` Stephen Rothwell
2010-04-08 23:01       ` John Linn
     [not found] <20100318160220.b7eaded6.sfr@canb.auug.org.au>
2010-03-18  6:21 ` David Miller
     [not found] <20100301203453.938e4136.sfr@canb.auug.org.au>
2010-03-01  9:42 ` Jens Axboe
2010-03-01 10:07   ` Stephen Rothwell
2010-03-01  9:40 Stephen Rothwell
2010-03-01  9:38 Stephen Rothwell
2010-03-02 20:47 ` Greg KH

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100514151121.GR15159@redhat.com \
    --to=dzickus@redhat.com \
    --cc=davem@davemloft.net \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-next@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=peterz@infradead.org \
    --cc=sfr@canb.auug.org.au \
    --cc=tglx@linutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).