diff options
author | Frederic Weisbecker <fweisbec@gmail.com> | 2010-05-15 16:57:48 -0400 |
---|---|---|
committer | Frederic Weisbecker <fweisbec@gmail.com> | 2010-05-15 19:57:36 -0400 |
commit | c01d4323309a90a298fd81cf3a059ee1b12be2e9 (patch) | |
tree | d34c6508c56d14cf1461528c1840182a348f26f4 | |
parent | e16bb1d7fe07609bc8b0e4c043eff2f47ada78d8 (diff) |
lockup_detector: Adapt CONFIG_PERF_EVENT_NMI to other archs
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>
-rw-r--r-- | arch/Kconfig | 3 | ||||
-rw-r--r-- | arch/x86/Kconfig | 2 | ||||
-rw-r--r-- | init/Kconfig | 3 |
3 files changed, 5 insertions, 3 deletions
diff --git a/arch/Kconfig b/arch/Kconfig index e5eb1337a537..89b0efb50948 100644 --- a/arch/Kconfig +++ b/arch/Kconfig | |||
@@ -145,4 +145,7 @@ config HAVE_HW_BREAKPOINT | |||
145 | config HAVE_USER_RETURN_NOTIFIER | 145 | config HAVE_USER_RETURN_NOTIFIER |
146 | bool | 146 | bool |
147 | 147 | ||
148 | config HAVE_PERF_EVENTS_NMI | ||
149 | bool | ||
150 | |||
148 | source "kernel/gcov/Kconfig" | 151 | source "kernel/gcov/Kconfig" |
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 3cb28cd1f551..3cb5bb02172b 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig | |||
@@ -54,7 +54,7 @@ config X86 | |||
54 | select HAVE_KERNEL_LZO | 54 | select HAVE_KERNEL_LZO |
55 | select HAVE_HW_BREAKPOINT | 55 | select HAVE_HW_BREAKPOINT |
56 | select PERF_EVENTS | 56 | select PERF_EVENTS |
57 | select PERF_EVENTS_NMI | 57 | select HAVE_PERF_EVENTS_NMI |
58 | select ANON_INODES | 58 | select ANON_INODES |
59 | select HAVE_ARCH_KMEMCHECK | 59 | select HAVE_ARCH_KMEMCHECK |
60 | select HAVE_USER_RETURN_NOTIFIER | 60 | select HAVE_USER_RETURN_NOTIFIER |
diff --git a/init/Kconfig b/init/Kconfig index e44e25422f22..ab733c32292c 100644 --- a/init/Kconfig +++ b/init/Kconfig | |||
@@ -943,8 +943,7 @@ config PERF_USE_VMALLOC | |||
943 | See tools/perf/design.txt for details | 943 | See tools/perf/design.txt for details |
944 | 944 | ||
945 | config PERF_EVENTS_NMI | 945 | config PERF_EVENTS_NMI |
946 | bool | 946 | def_bool PERF_EVENTS && HAVE_PERF_EVENTS_NMI |
947 | depends on PERF_EVENTS | ||
948 | help | 947 | help |
949 | System hardware can generate an NMI using the perf event | 948 | System hardware can generate an NMI using the perf event |
950 | subsystem. Also has support for calculating CPU cycle events | 949 | subsystem. Also has support for calculating CPU cycle events |