* [patch 1/4] Create arch/Kconfig
2007-10-31 0:31 [patch 0/4] Creation of arch/Kconfig for ARCH_SUPPORTS_* options Mathieu Desnoyers
@ 2007-10-31 0:31 ` Mathieu Desnoyers
2007-10-31 0:31 ` [patch 2/4] Add ARCH_SUPPORTS_OPROFILE Mathieu Desnoyers
` (2 subsequent siblings)
3 siblings, 0 replies; 6+ messages in thread
From: Mathieu Desnoyers @ 2007-10-31 0:31 UTC (permalink / raw)
To: linux-kernel; +Cc: Mathieu Desnoyers, Linus Torvalds, Sam Ravnborg
[-- Attachment #1: add-kconfig-to-arch.patch --]
[-- Type: text/plain, Size: 3026 bytes --]
Puts the content of arch/Kconfig in the "General setup" menu.
Linus:
> Should it come with a re-duplication of it's content into each
> architecture, which was the case previously ? The oprofile and kprobes
> menu entries were litteraly cut and pasted from one architecture to
> another. Should we put its content in init/Kconfig then ?
I don't think it's a good idea to go back to making it per-architecture,
although that extensive "depends on <list-of-archiectures-here>" might
indicate that there certainly is room for cleanup there.
And I don't think it's wrong keeping it in kernel/Kconfig.xyz per se, I
just think it's wrong to (a) lump the code together when it really doesn't
necessarily need to and (b) show it to users as some kind of choice that
is tied together (whether it then has common code or not).
On the per-architecture side, I do think it would be better to *not* have
internal architecture knowledge in a generic file, and as such a line like
depends on X86_32 || IA64 || PPC || S390 || SPARC64 || X86_64 || AVR32
really shouldn't exist in a file like kernel/Kconfig.instrumentation.
It would be much better to do
depends on ARCH_SUPPORTS_KPROBES
in that generic file, and then architectures that do support it would just
have a
bool ARCH_SUPPORTS_KPROBES
default y
in *their* architecture files. That would seem to be much more logical,
and is readable both for arch maintainers *and* for people who have no
clue - and don't care - about which architecture is supposed to support
which interface...
Sam Ravnborg:
Stuff it into a new file: arch/Kconfig
We can then extend this file to include all the 'trailing'
Kconfig things that are anyway equal for all ARCHs.
But it should be kept clean - so if we introduce such a file
then we should use ARCH_HAS_whatever in the arch specific Kconfig
files to enable stuff that is not shared.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
CC: Linus Torvalds <torvalds@linux-foundation.org>
CC: Sam Ravnborg <sam@ravnborg.org>
---
arch/Kconfig | 3 +++
init/Kconfig | 2 ++
2 files changed, 5 insertions(+)
Index: linux-2.6-lttng.stable/init/Kconfig
===================================================================
--- linux-2.6-lttng.stable.orig/init/Kconfig 2007-10-30 20:20:28.000000000 -0400
+++ linux-2.6-lttng.stable/init/Kconfig 2007-10-30 20:21:04.000000000 -0400
@@ -644,6 +644,8 @@ config SLOB
endchoice
+source "arch/Kconfig"
+
endmenu # General setup
config RT_MUTEXES
Index: linux-2.6-lttng.stable/arch/Kconfig
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ linux-2.6-lttng.stable/arch/Kconfig 2007-10-30 20:20:32.000000000 -0400
@@ -0,0 +1,3 @@
+#
+# General architecture dependent options
+#
--
Mathieu Desnoyers
Computer Engineering Ph.D. Student, Ecole Polytechnique de Montreal
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68
^ permalink raw reply [flat|nested] 6+ messages in thread
* [patch 2/4] Add ARCH_SUPPORTS_OPROFILE
2007-10-31 0:31 [patch 0/4] Creation of arch/Kconfig for ARCH_SUPPORTS_* options Mathieu Desnoyers
2007-10-31 0:31 ` [patch 1/4] Create arch/Kconfig Mathieu Desnoyers
@ 2007-10-31 0:31 ` Mathieu Desnoyers
2007-10-31 0:31 ` [patch 3/4] Add ARCH_SUPPORTS_KPROBES Mathieu Desnoyers
2007-10-31 0:31 ` [patch 4/4] Move Kconfig.instrumentation to arch/Kconfig and init/Kconfig Mathieu Desnoyers
3 siblings, 0 replies; 6+ messages in thread
From: Mathieu Desnoyers @ 2007-10-31 0:31 UTC (permalink / raw)
To: linux-kernel; +Cc: Mathieu Desnoyers, Linus Torvalds, Sam Ravnborg
[-- Attachment #1: add-arch-supports-oprofile.patch --]
[-- Type: text/plain, Size: 10071 bytes --]
Linus:
On the per-architecture side, I do think it would be better to *not* have
internal architecture knowledge in a generic file, and as such a line like
depends on X86_32 || IA64 || PPC || S390 || SPARC64 || X86_64 || AVR32
really shouldn't exist in a file like kernel/Kconfig.instrumentation.
It would be much better to do
depends on ARCH_SUPPORTS_KPROBES
in that generic file, and then architectures that do support it would just
have a
bool ARCH_SUPPORTS_KPROBES
default y
in *their* architecture files. That would seem to be much more logical,
and is readable both for arch maintainers *and* for people who have no
clue - and don't care - about which architecture is supposed to support
which interface...
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
CC: Linus Torvalds <torvalds@linux-foundation.org>
CC: Sam Ravnborg <sam@ravnborg.org>
---
arch/alpha/Kconfig | 4 ++++
arch/arm/Kconfig | 4 ++++
arch/blackfin/Kconfig | 4 ++++
arch/ia64/Kconfig | 4 ++++
arch/m32r/Kconfig | 4 ++++
arch/mips/Kconfig | 4 ++++
arch/parisc/Kconfig | 4 ++++
arch/powerpc/Kconfig | 4 ++++
arch/ppc/Kconfig | 4 ++++
arch/s390/Kconfig | 4 ++++
arch/sh/Kconfig | 4 ++++
arch/sh64/Kconfig | 4 ++++
arch/sparc/Kconfig | 4 ++++
arch/sparc64/Kconfig | 4 ++++
arch/x86/Kconfig.i386 | 4 ++++
arch/x86/Kconfig.x86_64 | 4 ++++
kernel/Kconfig.instrumentation | 2 +-
17 files changed, 65 insertions(+), 1 deletion(-)
Index: linux-2.6-lttng.stable/arch/alpha/Kconfig
===================================================================
--- linux-2.6-lttng.stable.orig/arch/alpha/Kconfig 2007-10-30 20:17:18.000000000 -0400
+++ linux-2.6-lttng.stable/arch/alpha/Kconfig 2007-10-30 20:18:36.000000000 -0400
@@ -66,6 +66,10 @@ config AUTO_IRQ_AFFINITY
depends on SMP
default y
+config ARCH_SUPPORTS_OPROFILE
+ bool
+ default y
+
source "init/Kconfig"
Index: linux-2.6-lttng.stable/arch/arm/Kconfig
===================================================================
--- linux-2.6-lttng.stable.orig/arch/arm/Kconfig 2007-10-30 20:17:18.000000000 -0400
+++ linux-2.6-lttng.stable/arch/arm/Kconfig 2007-10-30 20:18:36.000000000 -0400
@@ -114,6 +114,10 @@ config GENERIC_CALIBRATE_DELAY
bool
default y
+config ARCH_SUPPORTS_OPROFILE
+ bool
+ default y
+
config ARCH_MAY_HAVE_PC_FDC
bool
Index: linux-2.6-lttng.stable/arch/blackfin/Kconfig
===================================================================
--- linux-2.6-lttng.stable.orig/arch/blackfin/Kconfig 2007-10-30 20:17:18.000000000 -0400
+++ linux-2.6-lttng.stable/arch/blackfin/Kconfig 2007-10-30 20:18:36.000000000 -0400
@@ -69,6 +69,10 @@ config GENERIC_CALIBRATE_DELAY
bool
default y
+config ARCH_SUPPORTS_OPROFILE
+ bool
+ default y
+
config IRQCHIP_DEMUX_GPIO
bool
depends on (BF52x || BF53x || BF561 || BF54x)
Index: linux-2.6-lttng.stable/arch/ia64/Kconfig
===================================================================
--- linux-2.6-lttng.stable.orig/arch/ia64/Kconfig 2007-10-30 20:17:18.000000000 -0400
+++ linux-2.6-lttng.stable/arch/ia64/Kconfig 2007-10-30 20:18:38.000000000 -0400
@@ -99,6 +99,10 @@ config AUDIT_ARCH
bool
default y
+config ARCH_SUPPORTS_OPROFILE
+ bool
+ default y
+
choice
prompt "System type"
default IA64_GENERIC
Index: linux-2.6-lttng.stable/arch/m32r/Kconfig
===================================================================
--- linux-2.6-lttng.stable.orig/arch/m32r/Kconfig 2007-10-30 20:17:18.000000000 -0400
+++ linux-2.6-lttng.stable/arch/m32r/Kconfig 2007-10-30 20:18:36.000000000 -0400
@@ -34,6 +34,10 @@ config NO_IOPORT
config NO_DMA
def_bool y
+config ARCH_SUPPORTS_OPROFILE
+ bool
+ default y
+
source "init/Kconfig"
Index: linux-2.6-lttng.stable/arch/mips/Kconfig
===================================================================
--- linux-2.6-lttng.stable.orig/arch/mips/Kconfig 2007-10-30 20:17:18.000000000 -0400
+++ linux-2.6-lttng.stable/arch/mips/Kconfig 2007-10-30 20:18:36.000000000 -0400
@@ -721,6 +721,10 @@ config GENERIC_HARDIRQS_NO__DO_IRQ
bool
default n
+config ARCH_SUPPORTS_OPROFILE
+ bool
+ default y
+
#
# Select some configuration options automatically based on user selections.
#
Index: linux-2.6-lttng.stable/arch/parisc/Kconfig
===================================================================
--- linux-2.6-lttng.stable.orig/arch/parisc/Kconfig 2007-10-30 20:17:18.000000000 -0400
+++ linux-2.6-lttng.stable/arch/parisc/Kconfig 2007-10-30 20:18:36.000000000 -0400
@@ -69,6 +69,10 @@ config IRQ_PER_CPU
bool
default y
+config ARCH_SUPPORTS_OPROFILE
+ bool
+ default y
+
# unless you want to implement ACPI on PA-RISC ... ;-)
config PM
bool
Index: linux-2.6-lttng.stable/arch/powerpc/Kconfig
===================================================================
--- linux-2.6-lttng.stable.orig/arch/powerpc/Kconfig 2007-10-30 20:17:18.000000000 -0400
+++ linux-2.6-lttng.stable/arch/powerpc/Kconfig 2007-10-30 20:18:38.000000000 -0400
@@ -163,6 +163,10 @@ config PPC_OF_PLATFORM_PCI
depends on PPC64 # not supported on 32 bits yet
default n
+config ARCH_SUPPORTS_OPROFILE
+ bool
+ default y
+
source "init/Kconfig"
source "arch/powerpc/platforms/Kconfig"
Index: linux-2.6-lttng.stable/arch/ppc/Kconfig
===================================================================
--- linux-2.6-lttng.stable.orig/arch/ppc/Kconfig 2007-10-30 20:17:18.000000000 -0400
+++ linux-2.6-lttng.stable/arch/ppc/Kconfig 2007-10-30 20:18:38.000000000 -0400
@@ -69,6 +69,10 @@ config GENERIC_BUG
default y
depends on BUG
+config ARCH_SUPPORTS_OPROFILE
+ bool
+ default y
+
source "init/Kconfig"
menu "Processor"
Index: linux-2.6-lttng.stable/arch/s390/Kconfig
===================================================================
--- linux-2.6-lttng.stable.orig/arch/s390/Kconfig 2007-10-30 20:17:18.000000000 -0400
+++ linux-2.6-lttng.stable/arch/s390/Kconfig 2007-10-30 20:18:38.000000000 -0400
@@ -52,6 +52,10 @@ mainmenu "Linux Kernel Configuration"
config S390
def_bool y
+config ARCH_SUPPORTS_OPROFILE
+ bool
+ default y
+
source "init/Kconfig"
menu "Base setup"
Index: linux-2.6-lttng.stable/arch/sh/Kconfig
===================================================================
--- linux-2.6-lttng.stable.orig/arch/sh/Kconfig 2007-10-30 20:17:18.000000000 -0400
+++ linux-2.6-lttng.stable/arch/sh/Kconfig 2007-10-30 20:18:36.000000000 -0400
@@ -93,6 +93,10 @@ config ARCH_HAS_ILOG2_U64
config ARCH_NO_VIRT_TO_BUS
def_bool y
+config ARCH_SUPPORTS_OPROFILE
+ bool
+ default y
+
source "init/Kconfig"
menu "System type"
Index: linux-2.6-lttng.stable/arch/sh64/Kconfig
===================================================================
--- linux-2.6-lttng.stable.orig/arch/sh64/Kconfig 2007-10-30 20:17:18.000000000 -0400
+++ linux-2.6-lttng.stable/arch/sh64/Kconfig 2007-10-30 20:18:36.000000000 -0400
@@ -58,6 +58,10 @@ config ARCH_HAS_ILOG2_U64
config ARCH_NO_VIRT_TO_BUS
def_bool y
+config ARCH_SUPPORTS_OPROFILE
+ bool
+ default y
+
source init/Kconfig
menu "System type"
Index: linux-2.6-lttng.stable/arch/sparc/Kconfig
===================================================================
--- linux-2.6-lttng.stable.orig/arch/sparc/Kconfig 2007-10-30 20:17:18.000000000 -0400
+++ linux-2.6-lttng.stable/arch/sparc/Kconfig 2007-10-30 20:18:36.000000000 -0400
@@ -27,6 +27,10 @@ config ARCH_NO_VIRT_TO_BUS
config OF
def_bool y
+config ARCH_SUPPORTS_OPROFILE
+ bool
+ default y
+
source "init/Kconfig"
menu "General machine setup"
Index: linux-2.6-lttng.stable/arch/sparc64/Kconfig
===================================================================
--- linux-2.6-lttng.stable.orig/arch/sparc64/Kconfig 2007-10-30 20:17:18.000000000 -0400
+++ linux-2.6-lttng.stable/arch/sparc64/Kconfig 2007-10-30 20:18:38.000000000 -0400
@@ -76,6 +76,10 @@ config GENERIC_HARDIRQS_NO__DO_IRQ
bool
def_bool y
+config ARCH_SUPPORTS_OPROFILE
+ bool
+ default y
+
choice
prompt "Kernel page size"
default SPARC64_PAGE_SIZE_8KB
Index: linux-2.6-lttng.stable/arch/x86/Kconfig.i386
===================================================================
--- linux-2.6-lttng.stable.orig/arch/x86/Kconfig.i386 2007-10-30 20:17:18.000000000 -0400
+++ linux-2.6-lttng.stable/arch/x86/Kconfig.i386 2007-10-30 20:18:38.000000000 -0400
@@ -91,6 +91,10 @@ config DMI
bool
default y
+config ARCH_SUPPORTS_OPROFILE
+ bool
+ default y
+
source "init/Kconfig"
menu "Processor type and features"
Index: linux-2.6-lttng.stable/arch/x86/Kconfig.x86_64
===================================================================
--- linux-2.6-lttng.stable.orig/arch/x86/Kconfig.x86_64 2007-10-30 20:17:18.000000000 -0400
+++ linux-2.6-lttng.stable/arch/x86/Kconfig.x86_64 2007-10-30 20:18:38.000000000 -0400
@@ -133,6 +133,10 @@ config ARCH_HAS_ILOG2_U64
bool
default n
+config ARCH_SUPPORTS_OPROFILE
+ bool
+ default y
+
source "init/Kconfig"
Index: linux-2.6-lttng.stable/kernel/Kconfig.instrumentation
===================================================================
--- linux-2.6-lttng.stable.orig/kernel/Kconfig.instrumentation 2007-10-30 20:18:54.000000000 -0400
+++ linux-2.6-lttng.stable/kernel/Kconfig.instrumentation 2007-10-30 20:19:05.000000000 -0400
@@ -21,7 +21,7 @@ config PROFILING
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
+ depends on ARCH_SUPPORTS_OPROFILE
help
OProfile is a profiling system capable of profiling the
whole system, include the kernel, kernel modules, libraries,
--
Mathieu Desnoyers
Computer Engineering Ph.D. Student, Ecole Polytechnique de Montreal
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68
^ permalink raw reply [flat|nested] 6+ messages in thread
* [patch 3/4] Add ARCH_SUPPORTS_KPROBES
2007-10-31 0:31 [patch 0/4] Creation of arch/Kconfig for ARCH_SUPPORTS_* options Mathieu Desnoyers
2007-10-31 0:31 ` [patch 1/4] Create arch/Kconfig Mathieu Desnoyers
2007-10-31 0:31 ` [patch 2/4] Add ARCH_SUPPORTS_OPROFILE Mathieu Desnoyers
@ 2007-10-31 0:31 ` Mathieu Desnoyers
2007-10-31 0:51 ` Linus Torvalds
2007-10-31 0:31 ` [patch 4/4] Move Kconfig.instrumentation to arch/Kconfig and init/Kconfig Mathieu Desnoyers
3 siblings, 1 reply; 6+ messages in thread
From: Mathieu Desnoyers @ 2007-10-31 0:31 UTC (permalink / raw)
To: linux-kernel; +Cc: Mathieu Desnoyers, Linus Torvalds, Sam Ravnborg
[-- Attachment #1: add-arch-supports-kprobes.patch --]
[-- Type: text/plain, Size: 5900 bytes --]
Linus:
On the per-architecture side, I do think it would be better to *not* have
internal architecture knowledge in a generic file, and as such a line like
depends on X86_32 || IA64 || PPC || S390 || SPARC64 || X86_64 || AVR32
really shouldn't exist in a file like kernel/Kconfig.instrumentation.
It would be much better to do
depends on ARCH_SUPPORTS_KPROBES
in that generic file, and then architectures that do support it would just
have a
bool ARCH_SUPPORTS_KPROBES
default y
in *their* architecture files. That would seem to be much more logical,
and is readable both for arch maintainers *and* for people who have no
clue - and don't care - about which architecture is supposed to support
which interface...
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
CC: Linus Torvalds <torvalds@linux-foundation.org>
CC: Sam Ravnborg <sam@ravnborg.org>
---
arch/avr32/Kconfig | 4 ++++
arch/ia64/Kconfig | 4 ++++
arch/powerpc/Kconfig | 4 ++++
arch/ppc/Kconfig | 4 ++++
arch/s390/Kconfig | 4 ++++
arch/sparc64/Kconfig | 4 ++++
arch/x86/Kconfig.i386 | 4 ++++
arch/x86/Kconfig.x86_64 | 4 ++++
kernel/Kconfig.instrumentation | 2 +-
9 files changed, 33 insertions(+), 1 deletion(-)
Index: linux-2.6-lttng.stable/arch/avr32/Kconfig
===================================================================
--- linux-2.6-lttng.stable.orig/arch/avr32/Kconfig 2007-10-30 20:18:38.000000000 -0400
+++ linux-2.6-lttng.stable/arch/avr32/Kconfig 2007-10-30 20:19:08.000000000 -0400
@@ -70,6 +70,10 @@ config GENERIC_BUG
default y
depends on BUG
+config ARCH_SUPPORTS_KPROBES
+ bool
+ default y
+
source "init/Kconfig"
menu "System Type and features"
Index: linux-2.6-lttng.stable/arch/ia64/Kconfig
===================================================================
--- linux-2.6-lttng.stable.orig/arch/ia64/Kconfig 2007-10-30 20:18:38.000000000 -0400
+++ linux-2.6-lttng.stable/arch/ia64/Kconfig 2007-10-30 20:19:08.000000000 -0400
@@ -103,6 +103,10 @@ config ARCH_SUPPORTS_OPROFILE
bool
default y
+config ARCH_SUPPORTS_KPROBES
+ bool
+ default y
+
choice
prompt "System type"
default IA64_GENERIC
Index: linux-2.6-lttng.stable/arch/powerpc/Kconfig
===================================================================
--- linux-2.6-lttng.stable.orig/arch/powerpc/Kconfig 2007-10-30 20:18:38.000000000 -0400
+++ linux-2.6-lttng.stable/arch/powerpc/Kconfig 2007-10-30 20:19:08.000000000 -0400
@@ -167,6 +167,10 @@ config ARCH_SUPPORTS_OPROFILE
bool
default y
+config ARCH_SUPPORTS_KPROBES
+ bool
+ default y
+
source "init/Kconfig"
source "arch/powerpc/platforms/Kconfig"
Index: linux-2.6-lttng.stable/arch/ppc/Kconfig
===================================================================
--- linux-2.6-lttng.stable.orig/arch/ppc/Kconfig 2007-10-30 20:18:38.000000000 -0400
+++ linux-2.6-lttng.stable/arch/ppc/Kconfig 2007-10-30 20:19:08.000000000 -0400
@@ -73,6 +73,10 @@ config ARCH_SUPPORTS_OPROFILE
bool
default y
+config ARCH_SUPPORTS_KPROBES
+ bool
+ default y
+
source "init/Kconfig"
menu "Processor"
Index: linux-2.6-lttng.stable/arch/s390/Kconfig
===================================================================
--- linux-2.6-lttng.stable.orig/arch/s390/Kconfig 2007-10-30 20:18:38.000000000 -0400
+++ linux-2.6-lttng.stable/arch/s390/Kconfig 2007-10-30 20:19:08.000000000 -0400
@@ -56,6 +56,10 @@ config ARCH_SUPPORTS_OPROFILE
bool
default y
+config ARCH_SUPPORTS_KPROBES
+ bool
+ default y
+
source "init/Kconfig"
menu "Base setup"
Index: linux-2.6-lttng.stable/arch/sparc64/Kconfig
===================================================================
--- linux-2.6-lttng.stable.orig/arch/sparc64/Kconfig 2007-10-30 20:18:38.000000000 -0400
+++ linux-2.6-lttng.stable/arch/sparc64/Kconfig 2007-10-30 20:19:08.000000000 -0400
@@ -80,6 +80,10 @@ config ARCH_SUPPORTS_OPROFILE
bool
default y
+config ARCH_SUPPORTS_KPROBES
+ bool
+ default y
+
choice
prompt "Kernel page size"
default SPARC64_PAGE_SIZE_8KB
Index: linux-2.6-lttng.stable/arch/x86/Kconfig.i386
===================================================================
--- linux-2.6-lttng.stable.orig/arch/x86/Kconfig.i386 2007-10-30 20:18:38.000000000 -0400
+++ linux-2.6-lttng.stable/arch/x86/Kconfig.i386 2007-10-30 20:19:08.000000000 -0400
@@ -95,6 +95,10 @@ config ARCH_SUPPORTS_OPROFILE
bool
default y
+config ARCH_SUPPORTS_KPROBES
+ bool
+ default y
+
source "init/Kconfig"
menu "Processor type and features"
Index: linux-2.6-lttng.stable/arch/x86/Kconfig.x86_64
===================================================================
--- linux-2.6-lttng.stable.orig/arch/x86/Kconfig.x86_64 2007-10-30 20:18:38.000000000 -0400
+++ linux-2.6-lttng.stable/arch/x86/Kconfig.x86_64 2007-10-30 20:19:08.000000000 -0400
@@ -137,6 +137,10 @@ config ARCH_SUPPORTS_OPROFILE
bool
default y
+config ARCH_SUPPORTS_KPROBES
+ bool
+ default y
+
source "init/Kconfig"
Index: linux-2.6-lttng.stable/kernel/Kconfig.instrumentation
===================================================================
--- linux-2.6-lttng.stable.orig/kernel/Kconfig.instrumentation 2007-10-30 20:19:10.000000000 -0400
+++ linux-2.6-lttng.stable/kernel/Kconfig.instrumentation 2007-10-30 20:19:20.000000000 -0400
@@ -32,7 +32,7 @@ config OPROFILE
config KPROBES
bool "Kprobes"
depends on KALLSYMS && MODULES
- depends on X86_32 || IA64 || PPC || S390 || SPARC64 || X86_64 || AVR32
+ depends on ARCH_SUPPORTS_KPROBES
help
Kprobes allows you to trap at almost any kernel address and
execute a callback function. register_kprobe() establishes
--
Mathieu Desnoyers
Computer Engineering Ph.D. Student, Ecole Polytechnique de Montreal
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [patch 3/4] Add ARCH_SUPPORTS_KPROBES
2007-10-31 0:31 ` [patch 3/4] Add ARCH_SUPPORTS_KPROBES Mathieu Desnoyers
@ 2007-10-31 0:51 ` Linus Torvalds
0 siblings, 0 replies; 6+ messages in thread
From: Linus Torvalds @ 2007-10-31 0:51 UTC (permalink / raw)
To: Mathieu Desnoyers; +Cc: linux-kernel, Sam Ravnborg
On Tue, 30 Oct 2007, Mathieu Desnoyers wrote:
>
> +config ARCH_SUPPORTS_KPROBES
> + bool
> + default y
Actually, I know I gave this as the magic incantation, but now that I see
it, I realize that I should have told you to just use
config ARCH_SUPPORTS_KPROBES
def_bool y
instead, which is a bit denser.
We seem to use both kinds of syntax for these things, but this is really
what "def_bool" is there for...
Linus
^ permalink raw reply [flat|nested] 6+ messages in thread
* [patch 4/4] Move Kconfig.instrumentation to arch/Kconfig and init/Kconfig
2007-10-31 0:31 [patch 0/4] Creation of arch/Kconfig for ARCH_SUPPORTS_* options Mathieu Desnoyers
` (2 preceding siblings ...)
2007-10-31 0:31 ` [patch 3/4] Add ARCH_SUPPORTS_KPROBES Mathieu Desnoyers
@ 2007-10-31 0:31 ` Mathieu Desnoyers
3 siblings, 0 replies; 6+ messages in thread
From: Mathieu Desnoyers @ 2007-10-31 0:31 UTC (permalink / raw)
To: linux-kernel; +Cc: Mathieu Desnoyers, Linus Torvalds, Sam Ravnborg
[-- Attachment #1: move-kconfig-instrumentation-to-arch.patch --]
[-- Type: text/plain, Size: 16493 bytes --]
Move the instrumentation Kconfig to
arch/Kconfig for architecture dependent options
- oprofile
- kprobes
and
init/Kconfig for architecture independent options
- profiling
- markers
Remove the "Instrumentation Support" menu. Everything moves to "General setup".
Delete the kernel/Kconfig.instrumentation file.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
CC: Linus Torvalds <torvalds@linux-foundation.org>
CC: Sam Ravnborg <sam@ravnborg.org>
---
arch/Kconfig | 22 ++++++++++++++++++
arch/alpha/Kconfig | 2 -
arch/arm/Kconfig | 2 -
arch/blackfin/Kconfig | 2 -
arch/cris/Kconfig | 2 -
arch/frv/Kconfig | 2 -
arch/h8300/Kconfig | 2 -
arch/ia64/Kconfig | 2 -
arch/m32r/Kconfig | 2 -
arch/m68k/Kconfig | 2 -
arch/m68knommu/Kconfig | 2 -
arch/mips/Kconfig | 2 -
arch/parisc/Kconfig | 2 -
arch/powerpc/Kconfig | 2 -
arch/ppc/Kconfig | 2 -
arch/s390/Kconfig | 2 -
arch/sh/Kconfig | 2 -
arch/sh64/Kconfig | 2 -
arch/sparc/Kconfig | 2 -
arch/sparc64/Kconfig | 2 -
arch/um/Kconfig | 2 -
arch/v850/Kconfig | 2 -
arch/x86/Kconfig.i386 | 2 -
arch/x86/Kconfig.x86_64 | 2 -
arch/xtensa/Kconfig | 2 -
init/Kconfig | 12 ++++++++++
kernel/Kconfig.instrumentation | 49 -----------------------------------------
27 files changed, 34 insertions(+), 97 deletions(-)
Index: linux-2.6-lttng.stable/arch/Kconfig
===================================================================
--- linux-2.6-lttng.stable.orig/arch/Kconfig 2007-10-30 20:20:32.000000000 -0400
+++ linux-2.6-lttng.stable/arch/Kconfig 2007-10-30 20:21:07.000000000 -0400
@@ -1,3 +1,25 @@
#
# General architecture dependent options
#
+
+config OPROFILE
+ tristate "OProfile system profiling (EXPERIMENTAL)"
+ depends on PROFILING
+ depends on ARCH_SUPPORTS_OPROFILE
+ 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 ARCH_SUPPORTS_KPROBES
+ 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".
Index: linux-2.6-lttng.stable/init/Kconfig
===================================================================
--- linux-2.6-lttng.stable.orig/init/Kconfig 2007-10-30 20:21:04.000000000 -0400
+++ linux-2.6-lttng.stable/init/Kconfig 2007-10-30 20:21:27.000000000 -0400
@@ -644,6 +644,18 @@ config SLOB
endchoice
+config PROFILING
+ bool "Profiling support (EXPERIMENTAL)"
+ help
+ Say Y here to enable the extended profiling support mechanisms used
+ by profilers such as OProfile.
+
+config MARKERS
+ bool "Activate markers"
+ help
+ Place an empty function call at each marker site. Can be
+ dynamically changed for a probe function.
+
source "arch/Kconfig"
endmenu # General setup
Index: linux-2.6-lttng.stable/kernel/Kconfig.instrumentation
===================================================================
--- linux-2.6-lttng.stable.orig/kernel/Kconfig.instrumentation 2007-10-30 20:21:07.000000000 -0400
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,49 +0,0 @@
-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 ARCH_SUPPORTS_OPROFILE
- 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 ARCH_SUPPORTS_KPROBES
- 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".
-
-config MARKERS
- bool "Activate markers"
- help
- Place an empty function call at each marker site. Can be
- dynamically changed for a probe function.
-
-endif # INSTRUMENTATION
Index: linux-2.6-lttng.stable/arch/alpha/Kconfig
===================================================================
--- linux-2.6-lttng.stable.orig/arch/alpha/Kconfig 2007-10-30 20:21:06.000000000 -0400
+++ linux-2.6-lttng.stable/arch/alpha/Kconfig 2007-10-30 20:21:07.000000000 -0400
@@ -658,8 +658,6 @@ source "drivers/Kconfig"
source "fs/Kconfig"
-source "kernel/Kconfig.instrumentation"
-
source "arch/alpha/Kconfig.debug"
# DUMMY_CONSOLE may be defined in drivers/video/console/Kconfig
Index: linux-2.6-lttng.stable/arch/arm/Kconfig
===================================================================
--- linux-2.6-lttng.stable.orig/arch/arm/Kconfig 2007-10-30 20:21:06.000000000 -0400
+++ linux-2.6-lttng.stable/arch/arm/Kconfig 2007-10-30 20:21:07.000000000 -0400
@@ -1072,8 +1072,6 @@ endmenu
source "fs/Kconfig"
-source "kernel/Kconfig.instrumentation"
-
source "arch/arm/Kconfig.debug"
source "security/Kconfig"
Index: linux-2.6-lttng.stable/arch/blackfin/Kconfig
===================================================================
--- linux-2.6-lttng.stable.orig/arch/blackfin/Kconfig 2007-10-30 20:21:06.000000000 -0400
+++ linux-2.6-lttng.stable/arch/blackfin/Kconfig 2007-10-30 20:21:07.000000000 -0400
@@ -1077,8 +1077,6 @@ source "drivers/Kconfig"
source "fs/Kconfig"
-source "kernel/Kconfig.instrumentation"
-
menu "Kernel hacking"
source "lib/Kconfig.debug"
Index: linux-2.6-lttng.stable/arch/cris/Kconfig
===================================================================
--- linux-2.6-lttng.stable.orig/arch/cris/Kconfig 2007-10-30 20:20:23.000000000 -0400
+++ linux-2.6-lttng.stable/arch/cris/Kconfig 2007-10-30 20:21:07.000000000 -0400
@@ -196,8 +196,6 @@ source "sound/Kconfig"
source "drivers/usb/Kconfig"
-source "kernel/Kconfig.instrumentation"
-
source "arch/cris/Kconfig.debug"
source "security/Kconfig"
Index: linux-2.6-lttng.stable/arch/frv/Kconfig
===================================================================
--- linux-2.6-lttng.stable.orig/arch/frv/Kconfig 2007-10-30 20:20:23.000000000 -0400
+++ linux-2.6-lttng.stable/arch/frv/Kconfig 2007-10-30 20:21:07.000000000 -0400
@@ -375,8 +375,6 @@ source "drivers/Kconfig"
source "fs/Kconfig"
-source "kernel/Kconfig.instrumentation"
-
source "arch/frv/Kconfig.debug"
source "security/Kconfig"
Index: linux-2.6-lttng.stable/arch/h8300/Kconfig
===================================================================
--- linux-2.6-lttng.stable.orig/arch/h8300/Kconfig 2007-10-30 20:20:23.000000000 -0400
+++ linux-2.6-lttng.stable/arch/h8300/Kconfig 2007-10-30 20:21:07.000000000 -0400
@@ -223,8 +223,6 @@ endmenu
source "fs/Kconfig"
-source "kernel/Kconfig.instrumentation"
-
source "arch/h8300/Kconfig.debug"
source "security/Kconfig"
Index: linux-2.6-lttng.stable/arch/ia64/Kconfig
===================================================================
--- linux-2.6-lttng.stable.orig/arch/ia64/Kconfig 2007-10-30 20:21:07.000000000 -0400
+++ linux-2.6-lttng.stable/arch/ia64/Kconfig 2007-10-30 20:21:07.000000000 -0400
@@ -600,8 +600,6 @@ config IRQ_PER_CPU
source "arch/ia64/hp/sim/Kconfig"
-source "kernel/Kconfig.instrumentation"
-
source "arch/ia64/Kconfig.debug"
source "security/Kconfig"
Index: linux-2.6-lttng.stable/arch/m32r/Kconfig
===================================================================
--- linux-2.6-lttng.stable.orig/arch/m32r/Kconfig 2007-10-30 20:21:06.000000000 -0400
+++ linux-2.6-lttng.stable/arch/m32r/Kconfig 2007-10-30 20:21:07.000000000 -0400
@@ -430,8 +430,6 @@ source "drivers/Kconfig"
source "fs/Kconfig"
-source "kernel/Kconfig.instrumentation"
-
source "arch/m32r/Kconfig.debug"
source "security/Kconfig"
Index: linux-2.6-lttng.stable/arch/m68k/Kconfig
===================================================================
--- linux-2.6-lttng.stable.orig/arch/m68k/Kconfig 2007-10-30 20:20:23.000000000 -0400
+++ linux-2.6-lttng.stable/arch/m68k/Kconfig 2007-10-30 20:21:07.000000000 -0400
@@ -683,8 +683,6 @@ endmenu
source "fs/Kconfig"
-source "kernel/Kconfig.instrumentation"
-
source "arch/m68k/Kconfig.debug"
source "security/Kconfig"
Index: linux-2.6-lttng.stable/arch/m68knommu/Kconfig
===================================================================
--- linux-2.6-lttng.stable.orig/arch/m68knommu/Kconfig 2007-10-30 20:20:23.000000000 -0400
+++ linux-2.6-lttng.stable/arch/m68knommu/Kconfig 2007-10-30 20:21:07.000000000 -0400
@@ -707,8 +707,6 @@ source "drivers/Kconfig"
source "fs/Kconfig"
-source "kernel/Kconfig.instrumentation"
-
source "arch/m68knommu/Kconfig.debug"
source "security/Kconfig"
Index: linux-2.6-lttng.stable/arch/mips/Kconfig
===================================================================
--- linux-2.6-lttng.stable.orig/arch/mips/Kconfig 2007-10-30 20:21:06.000000000 -0400
+++ linux-2.6-lttng.stable/arch/mips/Kconfig 2007-10-30 20:21:07.000000000 -0400
@@ -2019,8 +2019,6 @@ source "drivers/Kconfig"
source "fs/Kconfig"
-source "kernel/Kconfig.instrumentation"
-
source "arch/mips/Kconfig.debug"
source "security/Kconfig"
Index: linux-2.6-lttng.stable/arch/parisc/Kconfig
===================================================================
--- linux-2.6-lttng.stable.orig/arch/parisc/Kconfig 2007-10-30 20:21:06.000000000 -0400
+++ linux-2.6-lttng.stable/arch/parisc/Kconfig 2007-10-30 20:21:07.000000000 -0400
@@ -271,8 +271,6 @@ source "drivers/Kconfig"
source "fs/Kconfig"
-source "kernel/Kconfig.instrumentation"
-
source "arch/parisc/Kconfig.debug"
source "security/Kconfig"
Index: linux-2.6-lttng.stable/arch/powerpc/Kconfig
===================================================================
--- linux-2.6-lttng.stable.orig/arch/powerpc/Kconfig 2007-10-30 20:21:07.000000000 -0400
+++ linux-2.6-lttng.stable/arch/powerpc/Kconfig 2007-10-30 20:21:07.000000000 -0400
@@ -677,8 +677,6 @@ source "arch/powerpc/sysdev/qe_lib/Kconf
source "lib/Kconfig"
-source "kernel/Kconfig.instrumentation"
-
source "arch/powerpc/Kconfig.debug"
source "security/Kconfig"
Index: linux-2.6-lttng.stable/arch/ppc/Kconfig
===================================================================
--- linux-2.6-lttng.stable.orig/arch/ppc/Kconfig 2007-10-30 20:21:07.000000000 -0400
+++ linux-2.6-lttng.stable/arch/ppc/Kconfig 2007-10-30 20:21:07.000000000 -0400
@@ -1325,8 +1325,6 @@ endmenu
source "lib/Kconfig"
-source "kernel/Kconfig.instrumentation"
-
source "arch/ppc/Kconfig.debug"
source "security/Kconfig"
Index: linux-2.6-lttng.stable/arch/s390/Kconfig
===================================================================
--- linux-2.6-lttng.stable.orig/arch/s390/Kconfig 2007-10-30 20:21:07.000000000 -0400
+++ linux-2.6-lttng.stable/arch/s390/Kconfig 2007-10-30 20:21:07.000000000 -0400
@@ -537,8 +537,6 @@ source "drivers/Kconfig"
source "fs/Kconfig"
-source "kernel/Kconfig.instrumentation"
-
source "arch/s390/Kconfig.debug"
source "security/Kconfig"
Index: linux-2.6-lttng.stable/arch/sh/Kconfig
===================================================================
--- linux-2.6-lttng.stable.orig/arch/sh/Kconfig 2007-10-30 20:21:06.000000000 -0400
+++ linux-2.6-lttng.stable/arch/sh/Kconfig 2007-10-30 20:21:07.000000000 -0400
@@ -762,8 +762,6 @@ source "drivers/Kconfig"
source "fs/Kconfig"
-source "kernel/Kconfig.instrumentation"
-
source "arch/sh/Kconfig.debug"
source "security/Kconfig"
Index: linux-2.6-lttng.stable/arch/sh64/Kconfig
===================================================================
--- linux-2.6-lttng.stable.orig/arch/sh64/Kconfig 2007-10-30 20:21:06.000000000 -0400
+++ linux-2.6-lttng.stable/arch/sh64/Kconfig 2007-10-30 20:21:07.000000000 -0400
@@ -288,8 +288,6 @@ source "drivers/Kconfig"
source "fs/Kconfig"
-source "kernel/Kconfig.instrumentation"
-
source "arch/sh64/Kconfig.debug"
source "security/Kconfig"
Index: linux-2.6-lttng.stable/arch/sparc/Kconfig
===================================================================
--- linux-2.6-lttng.stable.orig/arch/sparc/Kconfig 2007-10-30 20:21:06.000000000 -0400
+++ linux-2.6-lttng.stable/arch/sparc/Kconfig 2007-10-30 20:21:07.000000000 -0400
@@ -324,8 +324,6 @@ endmenu
source "fs/Kconfig"
-source "kernel/Kconfig.instrumentation"
-
source "arch/sparc/Kconfig.debug"
source "security/Kconfig"
Index: linux-2.6-lttng.stable/arch/sparc64/Kconfig
===================================================================
--- linux-2.6-lttng.stable.orig/arch/sparc64/Kconfig 2007-10-30 20:21:07.000000000 -0400
+++ linux-2.6-lttng.stable/arch/sparc64/Kconfig 2007-10-30 20:21:07.000000000 -0400
@@ -470,8 +470,6 @@ source "drivers/sbus/char/Kconfig"
source "fs/Kconfig"
-source "kernel/Kconfig.instrumentation"
-
source "arch/sparc64/Kconfig.debug"
source "security/Kconfig"
Index: linux-2.6-lttng.stable/arch/um/Kconfig
===================================================================
--- linux-2.6-lttng.stable.orig/arch/um/Kconfig 2007-10-30 20:20:23.000000000 -0400
+++ linux-2.6-lttng.stable/arch/um/Kconfig 2007-10-30 20:21:07.000000000 -0400
@@ -289,6 +289,4 @@ config INPUT
bool
default n
-source "kernel/Kconfig.instrumentation"
-
source "arch/um/Kconfig.debug"
Index: linux-2.6-lttng.stable/arch/v850/Kconfig
===================================================================
--- linux-2.6-lttng.stable.orig/arch/v850/Kconfig 2007-10-30 20:20:23.000000000 -0400
+++ linux-2.6-lttng.stable/arch/v850/Kconfig 2007-10-30 20:21:07.000000000 -0400
@@ -331,8 +331,6 @@ source "sound/Kconfig"
source "drivers/usb/Kconfig"
-source "kernel/Kconfig.instrumentation"
-
source "arch/v850/Kconfig.debug"
source "security/Kconfig"
Index: linux-2.6-lttng.stable/arch/x86/Kconfig.i386
===================================================================
--- linux-2.6-lttng.stable.orig/arch/x86/Kconfig.i386 2007-10-30 20:21:07.000000000 -0400
+++ linux-2.6-lttng.stable/arch/x86/Kconfig.i386 2007-10-30 20:21:07.000000000 -0400
@@ -1278,8 +1278,6 @@ source "drivers/Kconfig"
source "fs/Kconfig"
-source "kernel/Kconfig.instrumentation"
-
source "arch/x86/Kconfig.debug"
source "security/Kconfig"
Index: linux-2.6-lttng.stable/arch/x86/Kconfig.x86_64
===================================================================
--- linux-2.6-lttng.stable.orig/arch/x86/Kconfig.x86_64 2007-10-30 20:21:07.000000000 -0400
+++ linux-2.6-lttng.stable/arch/x86/Kconfig.x86_64 2007-10-30 20:21:07.000000000 -0400
@@ -836,8 +836,6 @@ source "drivers/firmware/Kconfig"
source fs/Kconfig
-source "kernel/Kconfig.instrumentation"
-
source "arch/x86/Kconfig.debug"
source "security/Kconfig"
Index: linux-2.6-lttng.stable/arch/xtensa/Kconfig
===================================================================
--- linux-2.6-lttng.stable.orig/arch/xtensa/Kconfig 2007-10-30 20:20:23.000000000 -0400
+++ linux-2.6-lttng.stable/arch/xtensa/Kconfig 2007-10-30 20:21:07.000000000 -0400
@@ -251,8 +251,6 @@ config EMBEDDED_RAMDISK_IMAGE
provide one yourself.
endmenu
-source "kernel/Kconfig.instrumentation"
-
source "arch/xtensa/Kconfig.debug"
source "security/Kconfig"
--
Mathieu Desnoyers
Computer Engineering Ph.D. Student, Ecole Polytechnique de Montreal
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68
^ permalink raw reply [flat|nested] 6+ messages in thread