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 коммит произвёл Linus Torvalds
Родитель 1c3f0b8e07
Коммит 09cadedbdc
38 изменённых файлов: 73 добавлений и 420 удалений

Просмотреть файл

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

Просмотреть файл

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

Просмотреть файл

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

Просмотреть файл

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

Просмотреть файл

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

Просмотреть файл

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

Просмотреть файл

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

Просмотреть файл

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

Просмотреть файл

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

Просмотреть файл

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

Просмотреть файл

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

Просмотреть файл

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

Просмотреть файл

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

Просмотреть файл

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

Просмотреть файл

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

Просмотреть файл

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

Просмотреть файл

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

Просмотреть файл

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

Просмотреть файл

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

Просмотреть файл

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

Просмотреть файл

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

Просмотреть файл

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

Просмотреть файл

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

Просмотреть файл

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

Просмотреть файл

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

Просмотреть файл

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

Просмотреть файл

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

Просмотреть файл

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