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" ...@@ -654,7 +654,7 @@ source "drivers/Kconfig"
source "fs/Kconfig" source "fs/Kconfig"
source "arch/alpha/oprofile/Kconfig" source "kernel/Kconfig.instrumentation"
source "arch/alpha/Kconfig.debug" 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 ...@@ -1068,7 +1068,7 @@ endmenu
source "fs/Kconfig" source "fs/Kconfig"
source "arch/arm/oprofile/Kconfig" source "kernel/Kconfig.instrumentation"
source "arch/arm/Kconfig.debug" 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" ...@@ -1012,7 +1012,7 @@ source "drivers/Kconfig"
source "fs/Kconfig" source "fs/Kconfig"
source "arch/blackfin/oprofile/Kconfig" source "kernel/Kconfig.instrumentation"
menu "Kernel hacking" 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" ...@@ -196,6 +196,8 @@ source "sound/Kconfig"
source "drivers/usb/Kconfig" source "drivers/usb/Kconfig"
source "kernel/Kconfig.instrumentation"
source "arch/cris/Kconfig.debug" source "arch/cris/Kconfig.debug"
source "security/Kconfig" source "security/Kconfig"
......
...@@ -375,6 +375,8 @@ source "drivers/Kconfig" ...@@ -375,6 +375,8 @@ source "drivers/Kconfig"
source "fs/Kconfig" source "fs/Kconfig"
source "kernel/Kconfig.instrumentation"
source "arch/frv/Kconfig.debug" source "arch/frv/Kconfig.debug"
source "security/Kconfig" source "security/Kconfig"
......
...@@ -223,6 +223,8 @@ endmenu ...@@ -223,6 +223,8 @@ endmenu
source "fs/Kconfig" source "fs/Kconfig"
source "kernel/Kconfig.instrumentation"
source "arch/h8300/Kconfig.debug" source "arch/h8300/Kconfig.debug"
source "security/Kconfig" source "security/Kconfig"
......
...@@ -1256,31 +1256,6 @@ source "drivers/Kconfig" ...@@ -1256,31 +1256,6 @@ source "drivers/Kconfig"
source "fs/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 "arch/i386/Kconfig.debug"
source "security/Kconfig" source "security/Kconfig"
......
...@@ -592,20 +592,7 @@ config IRQ_PER_CPU ...@@ -592,20 +592,7 @@ config IRQ_PER_CPU
source "arch/ia64/hp/sim/Kconfig" source "arch/ia64/hp/sim/Kconfig"
menu "Instrumentation Support" source "kernel/Kconfig.instrumentation"
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 "arch/ia64/Kconfig.debug" 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" ...@@ -426,7 +426,7 @@ source "drivers/Kconfig"
source "fs/Kconfig" source "fs/Kconfig"
source "arch/m32r/oprofile/Kconfig" source "kernel/Kconfig.instrumentation"
source "arch/m32r/Kconfig.debug" 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 ...@@ -683,6 +683,8 @@ endmenu
source "fs/Kconfig" source "fs/Kconfig"
source "kernel/Kconfig.instrumentation"
source "arch/m68k/Kconfig.debug" source "arch/m68k/Kconfig.debug"
source "security/Kconfig" source "security/Kconfig"
......
...@@ -696,6 +696,8 @@ source "drivers/Kconfig" ...@@ -696,6 +696,8 @@ source "drivers/Kconfig"
source "fs/Kconfig" source "fs/Kconfig"
source "kernel/Kconfig.instrumentation"
source "arch/m68knommu/Kconfig.debug" source "arch/m68knommu/Kconfig.debug"
source "security/Kconfig" source "security/Kconfig"
......
...@@ -2005,7 +2005,7 @@ source "drivers/Kconfig" ...@@ -2005,7 +2005,7 @@ source "drivers/Kconfig"
source "fs/Kconfig" source "fs/Kconfig"
source "arch/mips/oprofile/Kconfig" source "kernel/Kconfig.instrumentation"
source "arch/mips/Kconfig.debug" 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" ...@@ -267,7 +267,7 @@ source "drivers/Kconfig"
source "fs/Kconfig" source "fs/Kconfig"
source "arch/parisc/oprofile/Kconfig" source "kernel/Kconfig.instrumentation"
source "arch/parisc/Kconfig.debug" 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" ...@@ -669,20 +669,7 @@ source "arch/powerpc/sysdev/qe_lib/Kconfig"
source "lib/Kconfig" source "lib/Kconfig"
menu "Instrumentation Support" source "kernel/Kconfig.instrumentation"
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 "arch/powerpc/Kconfig.debug" source "arch/powerpc/Kconfig.debug"
......
...@@ -1317,7 +1317,7 @@ endmenu ...@@ -1317,7 +1317,7 @@ endmenu
source "lib/Kconfig" source "lib/Kconfig"
source "arch/powerpc/oprofile/Kconfig" source "kernel/Kconfig.instrumentation"
source "arch/ppc/Kconfig.debug" source "arch/ppc/Kconfig.debug"
......
...@@ -529,21 +529,7 @@ source "drivers/Kconfig" ...@@ -529,21 +529,7 @@ source "drivers/Kconfig"
source "fs/Kconfig" source "fs/Kconfig"
menu "Instrumentation Support" source "kernel/Kconfig.instrumentation"
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 "arch/s390/Kconfig.debug" 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" ...@@ -758,7 +758,7 @@ source "drivers/Kconfig"
source "fs/Kconfig" source "fs/Kconfig"
source "arch/sh/oprofile/Kconfig" source "kernel/Kconfig.instrumentation"
source "arch/sh/Kconfig.debug" 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" ...@@ -284,7 +284,7 @@ source "drivers/Kconfig"
source "fs/Kconfig" source "fs/Kconfig"
source "arch/sh64/oprofile/Kconfig" source "kernel/Kconfig.instrumentation"
source "arch/sh64/Kconfig.debug" 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 ...@@ -320,11 +320,7 @@ endmenu
source "fs/Kconfig" source "fs/Kconfig"
menu "Instrumentation Support" source "kernel/Kconfig.instrumentation"
source "arch/sparc/oprofile/Kconfig"
endmenu
source "arch/sparc/Kconfig.debug" 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" ...@@ -460,20 +460,7 @@ source "drivers/fc4/Kconfig"
source "fs/Kconfig" source "fs/Kconfig"
menu "Instrumentation Support" source "kernel/Kconfig.instrumentation"
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 "arch/sparc64/Kconfig.debug" 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 ...@@ -289,4 +289,6 @@ config INPUT
bool bool
default n default n
source "kernel/Kconfig.instrumentation"
source "arch/um/Kconfig.debug" source "arch/um/Kconfig.debug"
...@@ -331,6 +331,8 @@ source "sound/Kconfig" ...@@ -331,6 +331,8 @@ source "sound/Kconfig"
source "drivers/usb/Kconfig" source "drivers/usb/Kconfig"
source "kernel/Kconfig.instrumentation"
source "arch/v850/Kconfig.debug" source "arch/v850/Kconfig.debug"
source "security/Kconfig" source "security/Kconfig"
......
...@@ -799,21 +799,6 @@ source "drivers/firmware/Kconfig" ...@@ -799,21 +799,6 @@ source "drivers/firmware/Kconfig"
source fs/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 "arch/x86_64/Kconfig.debug"
source "security/Kconfig" source "security/Kconfig"
......
...@@ -251,6 +251,8 @@ config EMBEDDED_RAMDISK_IMAGE ...@@ -251,6 +251,8 @@ config EMBEDDED_RAMDISK_IMAGE
provide one yourself. provide one yourself.
endmenu endmenu
source "kernel/Kconfig.instrumentation"
source "arch/xtensa/Kconfig.debug" source "arch/xtensa/Kconfig.debug"
source "security/Kconfig" 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.
If you say N, all options in this submenu will be skipped and
disabled. If you're trying to debug the kernel itself, go see the
Kernel Hacking menu.
if INSTRUMENTATION
config PROFILING config PROFILING
bool "Profiling support (EXPERIMENTAL)" bool "Profiling support (EXPERIMENTAL)"
help help
Say Y here to enable the extended profiling support mechanisms used Say Y here to enable the extended profiling support mechanisms used
by profilers such as OProfile. by profilers such as OProfile.
config OPROFILE config OPROFILE
tristate "OProfile system profiling (EXPERIMENTAL)" tristate "OProfile system profiling (EXPERIMENTAL)"
depends on PROFILING depends on PROFILING
depends on ALPHA || ARM || BLACKFIN || X86_32 || IA64 || M32R || MIPS || PARISC || PPC || S390 || SUPERH || SPARC || X86_64
help help
OProfile is a profiling system capable of profiling the OProfile is a profiling system capable of profiling the
whole system, include the kernel, kernel modules, libraries, whole system, include the kernel, kernel modules, libraries,
...@@ -15,10 +29,15 @@ config OPROFILE ...@@ -15,10 +29,15 @@ config OPROFILE
If unsure, say N. If unsure, say N.
config OPROFILE_CELL config KPROBES
bool "OProfile for Cell Broadband Engine" bool "Kprobes"
depends on (SPU_FS = y && OPROFILE = m) || (SPU_FS = y && OPROFILE = y) || (SPU_FS = m && OPROFILE = m) depends on KALLSYMS && MODULES
default y depends on X86_32 || IA64 || PPC || S390 || SPARC64 || X86_64 || AVR32
help help
Profiling of Cell BE SPUs requires special support enabled Kprobes allows you to trap at almost any kernel address and
by this option. 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
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment