* [V2 Patch] nmi watchdog: do not use cpp symbol in Kconfig
@ 2012-02-01 12:31 Cong Wang
2012-02-01 15:03 ` Don Zickus
2012-02-01 18:55 ` Mike Frysinger
0 siblings, 2 replies; 3+ messages in thread
From: Cong Wang @ 2012-02-01 12:31 UTC (permalink / raw)
To: linux-kernel; +Cc: Andrew Morton, Don Zickus, WANG Cong
V2: Fix subject...
ARCH_HAS_NMI_WATCHDOG is a macro defined by arch,
but config HARDLOCKUP_DETECTOR depends on it.
This is wrong, ARCH_HAS_NMI_WATCHDOG has to be a Kconfig
config, and arch's need it should select it explicitly.
Cc: Don Zickus <dzickus@redhat.com>
Signed-off-by: WANG Cong <xiyou.wangcong@gmail.com>
---
arch/Kconfig | 3 +++
arch/blackfin/Kconfig | 1 +
arch/blackfin/include/asm/irq.h | 4 ----
arch/mn10300/Kconfig | 1 +
arch/mn10300/include/asm/reset-regs.h | 4 ----
arch/sparc/Kconfig | 1 +
arch/sparc/include/asm/irq_64.h | 1 -
include/linux/nmi.h | 2 +-
lib/Kconfig.debug | 2 +-
9 files changed, 8 insertions(+), 11 deletions(-)
diff --git a/arch/Kconfig b/arch/Kconfig
index 4f55c73..c1a94a7 100644
--- a/arch/Kconfig
+++ b/arch/Kconfig
@@ -109,6 +109,9 @@ config HAVE_KRETPROBES
config HAVE_OPTPROBES
bool
+
+config HAVE_NMI_WATCHDOG
+ bool
#
# An arch should select this if it provides all these things:
#
diff --git a/arch/blackfin/Kconfig b/arch/blackfin/Kconfig
index abe5a9e..c1269a1 100644
--- a/arch/blackfin/Kconfig
+++ b/arch/blackfin/Kconfig
@@ -36,6 +36,7 @@ config BLACKFIN
select GENERIC_ATOMIC64
select GENERIC_IRQ_PROBE
select IRQ_PER_CPU if SMP
+ select HAVE_NMI_WATCHDOG if NMI_WATCHDOG
config GENERIC_CSUM
def_bool y
diff --git a/arch/blackfin/include/asm/irq.h b/arch/blackfin/include/asm/irq.h
index 12f4060..89de539 100644
--- a/arch/blackfin/include/asm/irq.h
+++ b/arch/blackfin/include/asm/irq.h
@@ -38,8 +38,4 @@
#include <asm-generic/irq.h>
-#ifdef CONFIG_NMI_WATCHDOG
-# define ARCH_HAS_NMI_WATCHDOG
-#endif
-
#endif /* _BFIN_IRQ_H_ */
diff --git a/arch/mn10300/Kconfig b/arch/mn10300/Kconfig
index 8f1c40d..3aa3de0 100644
--- a/arch/mn10300/Kconfig
+++ b/arch/mn10300/Kconfig
@@ -5,6 +5,7 @@ config MN10300
select GENERIC_IRQ_SHOW
select HAVE_ARCH_TRACEHOOK
select HAVE_ARCH_KGDB
+ select HAVE_NMI_WATCHDOG if MN10300_WD_TIMER
config AM33_2
def_bool n
diff --git a/arch/mn10300/include/asm/reset-regs.h b/arch/mn10300/include/asm/reset-regs.h
index 10c7502..8ca2a42 100644
--- a/arch/mn10300/include/asm/reset-regs.h
+++ b/arch/mn10300/include/asm/reset-regs.h
@@ -17,10 +17,6 @@
#ifdef __KERNEL__
-#ifdef CONFIG_MN10300_WD_TIMER
-#define ARCH_HAS_NMI_WATCHDOG /* See include/linux/nmi.h */
-#endif
-
/*
* watchdog timer registers
*/
diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig
index 9665799..53c7c7a 100644
--- a/arch/sparc/Kconfig
+++ b/arch/sparc/Kconfig
@@ -29,6 +29,7 @@ config SPARC
select GENERIC_IRQ_SHOW
select USE_GENERIC_SMP_HELPERS if SMP
select GENERIC_PCI_IOMAP
+ select HAVE_NMI_WATCHDOG if SPARC64
config SPARC32
def_bool !64BIT
diff --git a/arch/sparc/include/asm/irq_64.h b/arch/sparc/include/asm/irq_64.h
index 16dcae6d..abf6afe 100644
--- a/arch/sparc/include/asm/irq_64.h
+++ b/arch/sparc/include/asm/irq_64.h
@@ -95,7 +95,6 @@ void arch_trigger_all_cpu_backtrace(void);
extern void *hardirq_stack[NR_CPUS];
extern void *softirq_stack[NR_CPUS];
#define __ARCH_HAS_DO_SOFTIRQ
-#define ARCH_HAS_NMI_WATCHDOG
#define NO_IRQ 0xffffffff
diff --git a/include/linux/nmi.h b/include/linux/nmi.h
index 2d304ef..db50840 100644
--- a/include/linux/nmi.h
+++ b/include/linux/nmi.h
@@ -14,7 +14,7 @@
* may be used to reset the timeout - for code which intentionally
* disables interrupts for a long time. This call is stateless.
*/
-#if defined(ARCH_HAS_NMI_WATCHDOG) || defined(CONFIG_HARDLOCKUP_DETECTOR)
+#if defined(CONFIG_HAVE_NMI_WATCHDOG) || defined(CONFIG_HARDLOCKUP_DETECTOR)
#include <asm/nmi.h>
extern void touch_nmi_watchdog(void);
#else
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index 8745ac7..2dc65ba 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -181,7 +181,7 @@ config LOCKUP_DETECTOR
config HARDLOCKUP_DETECTOR
def_bool LOCKUP_DETECTOR && PERF_EVENTS && HAVE_PERF_EVENTS_NMI && \
- !ARCH_HAS_NMI_WATCHDOG
+ !HAVE_NMI_WATCHDOG
config BOOTPARAM_HARDLOCKUP_PANIC
bool "Panic (Reboot) On Hard Lockups"
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [V2 Patch] nmi watchdog: do not use cpp symbol in Kconfig
2012-02-01 12:31 [V2 Patch] nmi watchdog: do not use cpp symbol in Kconfig Cong Wang
@ 2012-02-01 15:03 ` Don Zickus
2012-02-01 18:55 ` Mike Frysinger
1 sibling, 0 replies; 3+ messages in thread
From: Don Zickus @ 2012-02-01 15:03 UTC (permalink / raw)
To: Cong Wang; +Cc: linux-kernel, Andrew Morton
On Wed, Feb 01, 2012 at 08:31:40PM +0800, Cong Wang wrote:
> V2: Fix subject...
>
> ARCH_HAS_NMI_WATCHDOG is a macro defined by arch,
> but config HARDLOCKUP_DETECTOR depends on it.
> This is wrong, ARCH_HAS_NMI_WATCHDOG has to be a Kconfig
> config, and arch's need it should select it explicitly.
Seems to make sense. How did you stumble upon that?
Acked-by: Don Zickus <dzickus@redhat.com>
>
> Cc: Don Zickus <dzickus@redhat.com>
> Signed-off-by: WANG Cong <xiyou.wangcong@gmail.com>
>
> ---
> arch/Kconfig | 3 +++
> arch/blackfin/Kconfig | 1 +
> arch/blackfin/include/asm/irq.h | 4 ----
> arch/mn10300/Kconfig | 1 +
> arch/mn10300/include/asm/reset-regs.h | 4 ----
> arch/sparc/Kconfig | 1 +
> arch/sparc/include/asm/irq_64.h | 1 -
> include/linux/nmi.h | 2 +-
> lib/Kconfig.debug | 2 +-
> 9 files changed, 8 insertions(+), 11 deletions(-)
>
> diff --git a/arch/Kconfig b/arch/Kconfig
> index 4f55c73..c1a94a7 100644
> --- a/arch/Kconfig
> +++ b/arch/Kconfig
> @@ -109,6 +109,9 @@ config HAVE_KRETPROBES
>
> config HAVE_OPTPROBES
> bool
> +
> +config HAVE_NMI_WATCHDOG
> + bool
> #
> # An arch should select this if it provides all these things:
> #
> diff --git a/arch/blackfin/Kconfig b/arch/blackfin/Kconfig
> index abe5a9e..c1269a1 100644
> --- a/arch/blackfin/Kconfig
> +++ b/arch/blackfin/Kconfig
> @@ -36,6 +36,7 @@ config BLACKFIN
> select GENERIC_ATOMIC64
> select GENERIC_IRQ_PROBE
> select IRQ_PER_CPU if SMP
> + select HAVE_NMI_WATCHDOG if NMI_WATCHDOG
>
> config GENERIC_CSUM
> def_bool y
> diff --git a/arch/blackfin/include/asm/irq.h b/arch/blackfin/include/asm/irq.h
> index 12f4060..89de539 100644
> --- a/arch/blackfin/include/asm/irq.h
> +++ b/arch/blackfin/include/asm/irq.h
> @@ -38,8 +38,4 @@
>
> #include <asm-generic/irq.h>
>
> -#ifdef CONFIG_NMI_WATCHDOG
> -# define ARCH_HAS_NMI_WATCHDOG
> -#endif
> -
> #endif /* _BFIN_IRQ_H_ */
> diff --git a/arch/mn10300/Kconfig b/arch/mn10300/Kconfig
> index 8f1c40d..3aa3de0 100644
> --- a/arch/mn10300/Kconfig
> +++ b/arch/mn10300/Kconfig
> @@ -5,6 +5,7 @@ config MN10300
> select GENERIC_IRQ_SHOW
> select HAVE_ARCH_TRACEHOOK
> select HAVE_ARCH_KGDB
> + select HAVE_NMI_WATCHDOG if MN10300_WD_TIMER
>
> config AM33_2
> def_bool n
> diff --git a/arch/mn10300/include/asm/reset-regs.h b/arch/mn10300/include/asm/reset-regs.h
> index 10c7502..8ca2a42 100644
> --- a/arch/mn10300/include/asm/reset-regs.h
> +++ b/arch/mn10300/include/asm/reset-regs.h
> @@ -17,10 +17,6 @@
>
> #ifdef __KERNEL__
>
> -#ifdef CONFIG_MN10300_WD_TIMER
> -#define ARCH_HAS_NMI_WATCHDOG /* See include/linux/nmi.h */
> -#endif
> -
> /*
> * watchdog timer registers
> */
> diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig
> index 9665799..53c7c7a 100644
> --- a/arch/sparc/Kconfig
> +++ b/arch/sparc/Kconfig
> @@ -29,6 +29,7 @@ config SPARC
> select GENERIC_IRQ_SHOW
> select USE_GENERIC_SMP_HELPERS if SMP
> select GENERIC_PCI_IOMAP
> + select HAVE_NMI_WATCHDOG if SPARC64
>
> config SPARC32
> def_bool !64BIT
> diff --git a/arch/sparc/include/asm/irq_64.h b/arch/sparc/include/asm/irq_64.h
> index 16dcae6d..abf6afe 100644
> --- a/arch/sparc/include/asm/irq_64.h
> +++ b/arch/sparc/include/asm/irq_64.h
> @@ -95,7 +95,6 @@ void arch_trigger_all_cpu_backtrace(void);
> extern void *hardirq_stack[NR_CPUS];
> extern void *softirq_stack[NR_CPUS];
> #define __ARCH_HAS_DO_SOFTIRQ
> -#define ARCH_HAS_NMI_WATCHDOG
>
> #define NO_IRQ 0xffffffff
>
> diff --git a/include/linux/nmi.h b/include/linux/nmi.h
> index 2d304ef..db50840 100644
> --- a/include/linux/nmi.h
> +++ b/include/linux/nmi.h
> @@ -14,7 +14,7 @@
> * may be used to reset the timeout - for code which intentionally
> * disables interrupts for a long time. This call is stateless.
> */
> -#if defined(ARCH_HAS_NMI_WATCHDOG) || defined(CONFIG_HARDLOCKUP_DETECTOR)
> +#if defined(CONFIG_HAVE_NMI_WATCHDOG) || defined(CONFIG_HARDLOCKUP_DETECTOR)
> #include <asm/nmi.h>
> extern void touch_nmi_watchdog(void);
> #else
> diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
> index 8745ac7..2dc65ba 100644
> --- a/lib/Kconfig.debug
> +++ b/lib/Kconfig.debug
> @@ -181,7 +181,7 @@ config LOCKUP_DETECTOR
>
> config HARDLOCKUP_DETECTOR
> def_bool LOCKUP_DETECTOR && PERF_EVENTS && HAVE_PERF_EVENTS_NMI && \
> - !ARCH_HAS_NMI_WATCHDOG
> + !HAVE_NMI_WATCHDOG
>
> config BOOTPARAM_HARDLOCKUP_PANIC
> bool "Panic (Reboot) On Hard Lockups"
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [V2 Patch] nmi watchdog: do not use cpp symbol in Kconfig
2012-02-01 12:31 [V2 Patch] nmi watchdog: do not use cpp symbol in Kconfig Cong Wang
2012-02-01 15:03 ` Don Zickus
@ 2012-02-01 18:55 ` Mike Frysinger
1 sibling, 0 replies; 3+ messages in thread
From: Mike Frysinger @ 2012-02-01 18:55 UTC (permalink / raw)
To: Cong Wang; +Cc: linux-kernel, Andrew Morton, Don Zickus
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=UTF-8, Size: 1117 bytes --]
On Wed, Feb 1, 2012 at 07:31, Cong Wang <xiyou.wangcong@gmail.com> wrote:
> ARCH_HAS_NMI_WATCHDOG is a macro defined by arch,
> but config HARDLOCKUP_DETECTOR depends on it.
> This is wrong, ARCH_HAS_NMI_WATCHDOG has to be a Kconfig
> config, and arch's need it should select it explicitly.
>
> ---
>  arch/Kconfig              |   3 +++
>  arch/blackfin/Kconfig         |   1 +
>  arch/blackfin/include/asm/irq.h    |   4 ----
>  arch/mn10300/Kconfig          |   1 +
> Â arch/mn10300/include/asm/reset-regs.h | Â Â 4 ----
>  arch/sparc/Kconfig           |   1 +
>  arch/sparc/include/asm/irq_64.h    |   1 -
>  include/linux/nmi.h          |   2 +-
>  lib/Kconfig.debug           |   2 +-
> Â 9 files changed, 8 insertions(+), 11 deletions(-)
Acked-by: Mike Frysinger <vapier@gentoo.org>
-mike
ÿôèº{.nÇ+·®+%Ëÿ±éݶ\x17¥wÿº{.nÇ+·¥{±þG«éÿ{ayº\x1dÊÚë,j\a¢f£¢·hïêÿêçz_è®\x03(éÝ¢j"ú\x1a¶^[m§ÿÿ¾\a«þG«éÿ¢¸?¨èÚ&£ø§~á¶iOæ¬z·vØ^\x14\x04\x1a¶^[m§ÿÿÃ\fÿ¶ìÿ¢¸?I¥
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2012-02-01 18:55 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-02-01 12:31 [V2 Patch] nmi watchdog: do not use cpp symbol in Kconfig Cong Wang
2012-02-01 15:03 ` Don Zickus
2012-02-01 18:55 ` Mike Frysinger
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).