Commit 09cadedb authored by Mathieu Desnoyers's avatar Mathieu Desnoyers Committed by Linus Torvalds

Combine instrumentation menus in kernel/Kconfig.instrumentation

Quoting Randy:

"It seems sad that this patch sources Kconfig.marker, a 7-line file,
20-something times.  Yes, you (we) don't want to put those 7 lines into
20-something different files, so sourcing is the right thing.

However, what you did for avr32 seems more on the right track to me: make
_one_ Instrumentation support menu that includes PROFILING, OPROFILE, KPROBES,
and MARKERS and then use (source) that in all of the arches."
Signed-off-by: default avatarMathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Acked-by: default avatarRandy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 1c3f0b8e
......@@ -654,7 +654,7 @@ source "drivers/Kconfig"
source "fs/Kconfig"
source "arch/alpha/oprofile/Kconfig"
source "kernel/Kconfig.instrumentation"
source "arch/alpha/Kconfig.debug"
......
menu "Profiling support"
depends on EXPERIMENTAL
config PROFILING
bool "Profiling support (EXPERIMENTAL)"
help
Say Y here to enable the extended profiling support mechanisms used
by profilers such as OProfile.
config OPROFILE
tristate "OProfile system profiling (EXPERIMENTAL)"
depends on PROFILING
help
OProfile is a profiling system capable of profiling the
whole system, include the kernel, kernel modules, libraries,
and applications.
If unsure, say N.
endmenu
......@@ -1068,7 +1068,7 @@ endmenu
source "fs/Kconfig"
source "arch/arm/oprofile/Kconfig"
source "kernel/Kconfig.instrumentation"
source "arch/arm/Kconfig.debug"
......
menu "Profiling support"
depends on EXPERIMENTAL
config PROFILING
bool "Profiling support (EXPERIMENTAL)"
help
Say Y here to enable the extended profiling support mechanisms used
by profilers such as OProfile.
config OPROFILE
tristate "OProfile system profiling (EXPERIMENTAL)"
depends on PROFILING
help
OProfile is a profiling system capable of profiling the
whole system, include the kernel, kernel modules, libraries,
and applications.
If unsure, say N.
if OPROFILE
config OPROFILE_ARMV6
bool
depends on CPU_V6 && !SMP
default y
select OPROFILE_ARM11_CORE
config OPROFILE_MPCORE
bool
depends on CPU_V6 && SMP
default y
select OPROFILE_ARM11_CORE
config OPROFILE_ARM11_CORE
bool
endif
endmenu
......@@ -1012,7 +1012,7 @@ source "drivers/Kconfig"
source "fs/Kconfig"
source "arch/blackfin/oprofile/Kconfig"
source "kernel/Kconfig.instrumentation"
menu "Kernel hacking"
......
menu "Profiling support"
depends on EXPERIMENTAL
config PROFILING
bool "Profiling support (EXPERIMENTAL)"
help
Say Y here to enable the extended profiling support mechanisms used
by profilers such as OProfile.
config OPROFILE
tristate "OProfile system profiling (EXPERIMENTAL)"
depends on PROFILING
help
OProfile is a profiling system capable of profiling the
whole system, include the kernel, kernel modules, libraries,
and applications.
If unsure, say N.
config HARDWARE_PM
tristate "Hardware Performance Monitor Profiling"
depends on PROFILING
help
take use of hardware performance monitor to profiling the kernel
and application.
If unsure, say N.
endmenu
......@@ -196,6 +196,8 @@ source "sound/Kconfig"
source "drivers/usb/Kconfig"
source "kernel/Kconfig.instrumentation"
source "arch/cris/Kconfig.debug"
source "security/Kconfig"
......
......@@ -375,6 +375,8 @@ source "drivers/Kconfig"
source "fs/Kconfig"
source "kernel/Kconfig.instrumentation"
source "arch/frv/Kconfig.debug"
source "security/Kconfig"
......
......@@ -223,6 +223,8 @@ endmenu
source "fs/Kconfig"
source "kernel/Kconfig.instrumentation"
source "arch/h8300/Kconfig.debug"
source "security/Kconfig"
......
......@@ -1256,31 +1256,6 @@ source "drivers/Kconfig"
source "fs/Kconfig"
menuconfig INSTRUMENTATION
bool "Instrumentation Support"
default y
---help---
Say Y here to get to see options related to performance measurement,
debugging, and testing. This option alone does not add any kernel code.
If you say N, all options in this submenu will be skipped and disabled.
if INSTRUMENTATION
source "arch/x86/oprofile/Kconfig"
config KPROBES
bool "Kprobes"
depends on KALLSYMS && MODULES
help
Kprobes allows you to trap at almost any kernel address and
execute a callback function. register_kprobe() establishes
a probepoint and specifies the callback. Kprobes is useful
for kernel debugging, non-intrusive instrumentation and testing.
If in doubt, say "N".
endif # INSTRUMENTATION
source "arch/i386/Kconfig.debug"
source "security/Kconfig"
......
......@@ -592,20 +592,7 @@ config IRQ_PER_CPU
source "arch/ia64/hp/sim/Kconfig"
menu "Instrumentation Support"
source "arch/ia64/oprofile/Kconfig"
config KPROBES
bool "Kprobes"
depends on KALLSYMS && MODULES
help
Kprobes allows you to trap at almost any kernel address and
execute a callback function. register_kprobe() establishes
a probepoint and specifies the callback. Kprobes is useful
for kernel debugging, non-intrusive instrumentation and testing.
If in doubt, say "N".
endmenu
source "kernel/Kconfig.instrumentation"
source "arch/ia64/Kconfig.debug"
......
config PROFILING
bool "Profiling support (EXPERIMENTAL)"
help
Say Y here to enable the extended profiling support mechanisms used
by profilers such as OProfile.
config OPROFILE
tristate "OProfile system profiling (EXPERIMENTAL)"
depends on PROFILING
help
OProfile is a profiling system capable of profiling the
whole system, include the kernel, kernel modules, libraries,
and applications.
Due to firmware bugs, you may need to use the "nohalt" boot
option if you're using OProfile with the hardware performance
counters.
If unsure, say N.
......@@ -426,7 +426,7 @@ source "drivers/Kconfig"
source "fs/Kconfig"
source "arch/m32r/oprofile/Kconfig"
source "kernel/Kconfig.instrumentation"
source "arch/m32r/Kconfig.debug"
......
menu "Profiling support"
depends on EXPERIMENTAL
config PROFILING
bool "Profiling support (EXPERIMENTAL)"
help
Say Y here to enable the extended profiling support mechanisms used
by profilers such as OProfile.
config OPROFILE
tristate "OProfile system profiling (EXPERIMENTAL)"
depends on PROFILING
help
OProfile is a profiling system capable of profiling the
whole system, include the kernel, kernel modules, libraries,
and applications.
If unsure, say N.
endmenu
......@@ -683,6 +683,8 @@ endmenu
source "fs/Kconfig"
source "kernel/Kconfig.instrumentation"
source "arch/m68k/Kconfig.debug"
source "security/Kconfig"
......
......@@ -696,6 +696,8 @@ source "drivers/Kconfig"
source "fs/Kconfig"
source "kernel/Kconfig.instrumentation"
source "arch/m68knommu/Kconfig.debug"
source "security/Kconfig"
......
......@@ -2005,7 +2005,7 @@ source "drivers/Kconfig"
source "fs/Kconfig"
source "arch/mips/oprofile/Kconfig"
source "kernel/Kconfig.instrumentation"
source "arch/mips/Kconfig.debug"
......
menu "Profiling support"
depends on EXPERIMENTAL
config PROFILING
bool "Profiling support (EXPERIMENTAL)"
help
Say Y here to enable the extended profiling support mechanisms used
by profilers such as OProfile.
config OPROFILE
tristate "OProfile system profiling (EXPERIMENTAL)"
depends on PROFILING && !MIPS_MT_SMTC && EXPERIMENTAL
help
OProfile is a profiling system capable of profiling the
whole system, include the kernel, kernel modules, libraries,
and applications.
If unsure, say N.
endmenu
......@@ -267,7 +267,7 @@ source "drivers/Kconfig"
source "fs/Kconfig"
source "arch/parisc/oprofile/Kconfig"
source "kernel/Kconfig.instrumentation"
source "arch/parisc/Kconfig.debug"
......
menu "Profiling support"
depends on EXPERIMENTAL
config PROFILING
bool "Profiling support (EXPERIMENTAL)"
help
Say Y here to enable the extended profiling support mechanisms used
by profilers such as OProfile.
config OPROFILE
tristate "OProfile system profiling (EXPERIMENTAL)"
depends on PROFILING
help
OProfile is a profiling system capable of profiling the
whole system, include the kernel, kernel modules, libraries,
and applications.
If unsure, say N.
endmenu
......@@ -669,20 +669,7 @@ source "arch/powerpc/sysdev/qe_lib/Kconfig"
source "lib/Kconfig"
menu "Instrumentation Support"
source "arch/powerpc/oprofile/Kconfig"
config KPROBES
bool "Kprobes"
depends on !BOOKE && !4xx && KALLSYMS && MODULES
help
Kprobes allows you to trap at almost any kernel address and
execute a callback function. register_kprobe() establishes
a probepoint and specifies the callback. Kprobes is useful
for kernel debugging, non-intrusive instrumentation and testing.
If in doubt, say "N".
endmenu
source "kernel/Kconfig.instrumentation"
source "arch/powerpc/Kconfig.debug"
......
......@@ -1317,7 +1317,7 @@ endmenu
source "lib/Kconfig"
source "arch/powerpc/oprofile/Kconfig"
source "kernel/Kconfig.instrumentation"
source "arch/ppc/Kconfig.debug"
......
......@@ -529,21 +529,7 @@ source "drivers/Kconfig"
source "fs/Kconfig"
menu "Instrumentation Support"
source "arch/s390/oprofile/Kconfig"
config KPROBES
bool "Kprobes (EXPERIMENTAL)"
depends on EXPERIMENTAL && MODULES
help
Kprobes allows you to trap at almost any kernel address and
execute a callback function. register_kprobe() establishes
a probepoint and specifies the callback. Kprobes is useful
for kernel debugging, non-intrusive instrumentation and testing.
If in doubt, say "N".
endmenu
source "kernel/Kconfig.instrumentation"
source "arch/s390/Kconfig.debug"
......
menu "Profiling support"
config PROFILING
bool "Profiling support"
help
Say Y here to enable profiling support mechanisms used by
profilers such as readprofile or OProfile.
config OPROFILE
tristate "OProfile system profiling"
depends on PROFILING
help
OProfile is a profiling system capable of profiling the
whole system, include the kernel, kernel modules, libraries,
and applications.
If unsure, say N.
endmenu
......@@ -758,7 +758,7 @@ source "drivers/Kconfig"
source "fs/Kconfig"
source "arch/sh/oprofile/Kconfig"
source "kernel/Kconfig.instrumentation"
source "arch/sh/Kconfig.debug"
......
menu "Profiling support"
depends on EXPERIMENTAL
config PROFILING
bool "Profiling support (EXPERIMENTAL)"
help
Say Y here to enable the extended profiling support mechanisms used
by profilers such as OProfile.
config OPROFILE
tristate "OProfile system profiling (EXPERIMENTAL)"
depends on PROFILING
help
OProfile is a profiling system capable of profiling the
whole system, include the kernel, kernel modules, libraries,
and applications.
If unsure, say N.
endmenu
......@@ -284,7 +284,7 @@ source "drivers/Kconfig"
source "fs/Kconfig"
source "arch/sh64/oprofile/Kconfig"
source "kernel/Kconfig.instrumentation"
source "arch/sh64/Kconfig.debug"
......
menu "Profiling support"
depends on EXPERIMENTAL
config PROFILING
bool "Profiling support (EXPERIMENTAL)"
help
Say Y here to enable the extended profiling support mechanisms used
by profilers such as OProfile.
config OPROFILE
tristate "OProfile system profiling (EXPERIMENTAL)"
depends on PROFILING
help
OProfile is a profiling system capable of profiling the
whole system, include the kernel, kernel modules, libraries,
and applications.
If unsure, say N.
endmenu
......@@ -320,11 +320,7 @@ endmenu
source "fs/Kconfig"
menu "Instrumentation Support"
source "arch/sparc/oprofile/Kconfig"
endmenu
source "kernel/Kconfig.instrumentation"
source "arch/sparc/Kconfig.debug"
......
config PROFILING
bool "Profiling support (EXPERIMENTAL)"
help
Say Y here to enable the extended profiling support mechanisms used
by profilers such as OProfile.
config OPROFILE
tristate "OProfile system profiling (EXPERIMENTAL)"
depends on PROFILING
help
OProfile is a profiling system capable of profiling the
whole system, include the kernel, kernel modules, libraries,
and applications.
If unsure, say N.
......@@ -460,20 +460,7 @@ source "drivers/fc4/Kconfig"
source "fs/Kconfig"
menu "Instrumentation Support"
source "arch/sparc64/oprofile/Kconfig"
config KPROBES
bool "Kprobes (EXPERIMENTAL)"
depends on KALLSYMS && EXPERIMENTAL && MODULES
help
Kprobes allows you to trap at almost any kernel address and
execute a callback function. register_kprobe() establishes
a probepoint and specifies the callback. Kprobes is useful
for kernel debugging, non-intrusive instrumentation and testing.
If in doubt, say "N".
endmenu
source "kernel/Kconfig.instrumentation"
source "arch/sparc64/Kconfig.debug"
......
config PROFILING
bool "Profiling support (EXPERIMENTAL)"
help
Say Y here to enable the extended profiling support mechanisms used
by profilers such as OProfile.
config OPROFILE
tristate "OProfile system profiling (EXPERIMENTAL)"
depends on PROFILING
help
OProfile is a profiling system capable of profiling the
whole system, include the kernel, kernel modules, libraries,
and applications.
If unsure, say N.
......@@ -289,4 +289,6 @@ config INPUT
bool
default n
source "kernel/Kconfig.instrumentation"
source "arch/um/Kconfig.debug"
......@@ -331,6 +331,8 @@ source "sound/Kconfig"
source "drivers/usb/Kconfig"
source "kernel/Kconfig.instrumentation"
source "arch/v850/Kconfig.debug"
source "security/Kconfig"
......
......@@ -799,21 +799,6 @@ source "drivers/firmware/Kconfig"
source fs/Kconfig
menu "Instrumentation Support"
source "arch/x86/oprofile/Kconfig"
config KPROBES
bool "Kprobes"
depends on KALLSYMS && MODULES
help
Kprobes allows you to trap at almost any kernel address and
execute a callback function. register_kprobe() establishes
a probepoint and specifies the callback. Kprobes is useful
for kernel debugging, non-intrusive instrumentation and testing.
If in doubt, say "N".
endmenu
source "arch/x86_64/Kconfig.debug"
source "security/Kconfig"
......
......@@ -251,6 +251,8 @@ config EMBEDDED_RAMDISK_IMAGE
provide one yourself.
endmenu
source "kernel/Kconfig.instrumentation"
source "arch/xtensa/Kconfig.debug"
source "security/Kconfig"
......
menuconfig INSTRUMENTATION
bool "Instrumentation Support"
default y
---help---
Say Y here to get to see options related to performance measurement,
system-wide debugging, and testing. This option alone does not add any
kernel code.