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: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Acked-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Mathieu Desnoyers 2007-10-18 23:41:05 -07:00 committed by Linus Torvalds
parent 1c3f0b8e07
commit 09cadedbdc
38 changed files with 73 additions and 420 deletions

View file

@ -654,7 +654,7 @@ source "drivers/Kconfig"
source "fs/Kconfig"
source "arch/alpha/oprofile/Kconfig"
source "kernel/Kconfig.instrumentation"
source "arch/alpha/Kconfig.debug"

View file

@ -1,23 +0,0 @@
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

View file

@ -1068,7 +1068,7 @@ endmenu
source "fs/Kconfig"
source "arch/arm/oprofile/Kconfig"
source "kernel/Kconfig.instrumentation"
source "arch/arm/Kconfig.debug"

View file

@ -1,42 +0,0 @@
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

View file

@ -1012,7 +1012,7 @@ source "drivers/Kconfig"
source "fs/Kconfig"
source "arch/blackfin/oprofile/Kconfig"
source "kernel/Kconfig.instrumentation"
menu "Kernel hacking"

View file

@ -1,29 +0,0 @@
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

View file

@ -196,6 +196,8 @@ source "sound/Kconfig"
source "drivers/usb/Kconfig"
source "kernel/Kconfig.instrumentation"
source "arch/cris/Kconfig.debug"
source "security/Kconfig"

View file

@ -375,6 +375,8 @@ source "drivers/Kconfig"
source "fs/Kconfig"
source "kernel/Kconfig.instrumentation"
source "arch/frv/Kconfig.debug"
source "security/Kconfig"

View file

@ -223,6 +223,8 @@ endmenu
source "fs/Kconfig"
source "kernel/Kconfig.instrumentation"
source "arch/h8300/Kconfig.debug"
source "security/Kconfig"

View file

@ -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"

View file

@ -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"

View file

@ -1,20 +0,0 @@
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.

View file

@ -426,7 +426,7 @@ source "drivers/Kconfig"
source "fs/Kconfig"
source "arch/m32r/oprofile/Kconfig"
source "kernel/Kconfig.instrumentation"
source "arch/m32r/Kconfig.debug"

View file

@ -1,23 +0,0 @@
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

View file

@ -683,6 +683,8 @@ endmenu
source "fs/Kconfig"
source "kernel/Kconfig.instrumentation"
source "arch/m68k/Kconfig.debug"
source "security/Kconfig"

View file

@ -696,6 +696,8 @@ source "drivers/Kconfig"
source "fs/Kconfig"
source "kernel/Kconfig.instrumentation"
source "arch/m68knommu/Kconfig.debug"
source "security/Kconfig"

View file

@ -2005,7 +2005,7 @@ source "drivers/Kconfig"
source "fs/Kconfig"
source "arch/mips/oprofile/Kconfig"
source "kernel/Kconfig.instrumentation"
source "arch/mips/Kconfig.debug"

View file

@ -1,23 +0,0 @@
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

View file

@ -267,7 +267,7 @@ source "drivers/Kconfig"
source "fs/Kconfig"
source "arch/parisc/oprofile/Kconfig"
source "kernel/Kconfig.instrumentation"
source "arch/parisc/Kconfig.debug"

View file

@ -1,23 +0,0 @@
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

View file

@ -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"

View file

@ -1,24 +0,0 @@
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 OPROFILE_CELL
bool "OProfile for Cell Broadband Engine"
depends on (SPU_FS = y && OPROFILE = m) || (SPU_FS = y && OPROFILE = y) || (SPU_FS = m && OPROFILE = m)
default y
help
Profiling of Cell BE SPUs requires special support enabled
by this option.

View file

@ -1317,7 +1317,7 @@ endmenu
source "lib/Kconfig"
source "arch/powerpc/oprofile/Kconfig"
source "kernel/Kconfig.instrumentation"
source "arch/ppc/Kconfig.debug"

View file

@ -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"

View file

@ -1,22 +0,0 @@
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

View file

@ -758,7 +758,7 @@ source "drivers/Kconfig"
source "fs/Kconfig"
source "arch/sh/oprofile/Kconfig"
source "kernel/Kconfig.instrumentation"
source "arch/sh/Kconfig.debug"

View file

@ -1,23 +0,0 @@
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

View file

@ -284,7 +284,7 @@ source "drivers/Kconfig"
source "fs/Kconfig"
source "arch/sh64/oprofile/Kconfig"
source "kernel/Kconfig.instrumentation"
source "arch/sh64/Kconfig.debug"

View file

@ -1,23 +0,0 @@
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

View file

@ -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"

View file

@ -1,17 +0,0 @@
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.

View file

@ -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"

View file

@ -1,17 +0,0 @@
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.

View file

@ -289,4 +289,6 @@ config INPUT
bool
default n
source "kernel/Kconfig.instrumentation"
source "arch/um/Kconfig.debug"

View file

@ -331,6 +331,8 @@ source "sound/Kconfig"
source "drivers/usb/Kconfig"
source "kernel/Kconfig.instrumentation"
source "arch/v850/Kconfig.debug"
source "security/Kconfig"

View file

@ -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"

View file

@ -251,6 +251,8 @@ config EMBEDDED_RAMDISK_IMAGE
provide one yourself.
endmenu
source "kernel/Kconfig.instrumentation"
source "arch/xtensa/Kconfig.debug"
source "security/Kconfig"

View file

@ -0,0 +1,43 @@
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
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
depends on ALPHA || ARM || BLACKFIN || X86_32 || IA64 || M32R || MIPS || PARISC || PPC || S390 || SUPERH || SPARC || X86_64
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 KPROBES
bool "Kprobes"
depends on KALLSYMS && MODULES
depends on X86_32 || IA64 || PPC || S390 || SPARC64 || X86_64 || AVR32
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