* [patch 0/4] Instrumentation menu removal
@ 2007-12-04 17:43 Mathieu Desnoyers
2007-12-04 17:43 ` [patch 1/4] Create arch/Kconfig Mathieu Desnoyers
` (4 more replies)
0 siblings, 5 replies; 7+ messages in thread
From: Mathieu Desnoyers @ 2007-12-04 17:43 UTC (permalink / raw)
To: akpm, linux-kernel; +Cc: Haavard Skinnemoen
Hi Andrew,
Here is the instrumentation menu removal patchset, updated to take care of
recent avr32 changes. It has been done on top of 2.6.24-rc4 with the following
patches applied :
[PATCH 1/2] [AVR32] Include instrumentation menu
[PATCH 2/2] [AVR32] Oprofile support
(which have been merged in the avr32 tree by Haavard)
Applying it in the current -mm after the "git-avr32.patch" in the following
order should work fine :
add-kconfig-to-arch.patch
add-have-oprofile.patch
add-have-kprobes.patch
move-kconfig-instrumentation-to-arch.patch
If you have any problem applying them, just tell me. I think there is no
difference between 2.6.24-rc4 + those two patches and your tree in that aspect,
but if there happen to be one, I'll get a -mm tree and do a clean patchset.
Mathieu
--
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] 7+ messages in thread
* [patch 1/4] Create arch/Kconfig
2007-12-04 17:43 [patch 0/4] Instrumentation menu removal Mathieu Desnoyers
@ 2007-12-04 17:43 ` Mathieu Desnoyers
2007-12-04 17:44 ` [patch 2/4] Add HAVE_OPROFILE Mathieu Desnoyers
` (3 subsequent siblings)
4 siblings, 0 replies; 7+ messages in thread
From: Mathieu Desnoyers @ 2007-12-04 17:43 UTC (permalink / raw)
To: akpm, linux-kernel
Cc: Haavard Skinnemoen, Mathieu Desnoyers, Linus Torvalds, Sam Ravnborg
[-- Attachment #1: add-kconfig-to-arch.patch --]
[-- Type: text/plain, Size: 3742 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.
[...]
The above suggestion is actually not exactly the best way to do it...
First the naming..
A quick grep shows following usage today (in Kconfig files)
ARCH_HAS 51
ARCH_SUPPORTS 4
HAVE_ARCH 7
ARCH_HAS is the clear winner.
In the common Kconfig file do:
config FOO
depends on ARCH_HAS_FOO
bool "bla bla"
config ARCH_HAS_FOO
def_bool n
In the arch specific Kconfig file in a suitable place do:
config SUITABLE_OPTION
select ARCH_HAS_FOO
The naming of ARCH_HAS_ is fixed and shall be:
ARCH_HAS_<config option it will enable>
Only a single line added pr. architecture.
And we will end up with a (maybe even commented) list of trivial selects.
- Yet another update :
Moving to HAVE_* now.
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/init/Kconfig
===================================================================
--- linux-2.6-lttng.orig/init/Kconfig 2007-12-04 12:42:17.000000000 -0500
+++ linux-2.6-lttng/init/Kconfig 2007-12-04 12:42:19.000000000 -0500
@@ -656,6 +656,8 @@ config SLOB
endchoice
+source "arch/Kconfig"
+
endmenu # General setup
config RT_MUTEXES
Index: linux-2.6-lttng/arch/Kconfig
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ linux-2.6-lttng/arch/Kconfig 2007-12-04 12:42:19.000000000 -0500
@@ -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] 7+ messages in thread
* [patch 2/4] Add HAVE_OPROFILE
2007-12-04 17:43 [patch 0/4] Instrumentation menu removal Mathieu Desnoyers
2007-12-04 17:43 ` [patch 1/4] Create arch/Kconfig Mathieu Desnoyers
@ 2007-12-04 17:44 ` Mathieu Desnoyers
2007-12-04 17:44 ` [patch 3/4] Add HAVE_KPROBES Mathieu Desnoyers
` (2 subsequent siblings)
4 siblings, 0 replies; 7+ messages in thread
From: Mathieu Desnoyers @ 2007-12-04 17:44 UTC (permalink / raw)
To: akpm, linux-kernel
Cc: Haavard Skinnemoen, Mathieu Desnoyers, Linus Torvalds, Sam Ravnborg
[-- Attachment #1: add-have-oprofile.patch --]
[-- Type: text/plain, Size: 10321 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...
Changelog:
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...
Changelog :
- Moving to HAVE_*.
- Add AVR32 oprofile.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
CC: Linus Torvalds <torvalds@linux-foundation.org>
CC: Sam Ravnborg <sam@ravnborg.org>
CC: Andrew Morton <akpm@linux-foundation.org>
CC: Haavard Skinnemoen <hskinnemoen@atmel.com>
---
arch/alpha/Kconfig | 1 +
arch/arm/Kconfig | 1 +
arch/avr32/Kconfig | 1 +
arch/blackfin/Kconfig | 1 +
arch/ia64/Kconfig | 1 +
arch/m32r/Kconfig | 1 +
arch/mips/Kconfig | 1 +
arch/parisc/Kconfig | 1 +
arch/powerpc/Kconfig | 1 +
arch/ppc/Kconfig | 1 +
arch/s390/Kconfig | 1 +
arch/sh/Kconfig | 1 +
arch/sh64/Kconfig | 1 +
arch/sparc/Kconfig | 1 +
arch/sparc64/Kconfig | 1 +
arch/x86/Kconfig | 1 +
kernel/Kconfig.instrumentation | 5 ++++-
17 files changed, 20 insertions(+), 1 deletion(-)
Index: linux-2.6-lttng/kernel/Kconfig.instrumentation
===================================================================
--- linux-2.6-lttng.orig/kernel/Kconfig.instrumentation 2007-12-04 12:40:09.000000000 -0500
+++ linux-2.6-lttng/kernel/Kconfig.instrumentation 2007-12-04 12:42:11.000000000 -0500
@@ -21,7 +21,7 @@ config PROFILING
config OPROFILE
tristate "OProfile system profiling (EXPERIMENTAL)"
depends on PROFILING
- depends on (ALPHA || ARM || AVR32 || BLACKFIN || X86_32 || IA64 || M32R || MIPS || PARISC || PPC || S390 || SUPERH || SPARC || X86_64) && !UML
+ depends on HAVE_OPROFILE
help
OProfile is a profiling system capable of profiling the
whole system, include the kernel, kernel modules, libraries,
@@ -29,6 +29,9 @@ config OPROFILE
If unsure, say N.
+config HAVE_OPROFILE
+ def_bool n
+
config KPROBES
bool "Kprobes"
depends on KALLSYMS && MODULES
Index: linux-2.6-lttng/arch/alpha/Kconfig
===================================================================
--- linux-2.6-lttng.orig/arch/alpha/Kconfig 2007-12-04 12:40:09.000000000 -0500
+++ linux-2.6-lttng/arch/alpha/Kconfig 2007-12-04 12:42:10.000000000 -0500
@@ -5,6 +5,7 @@
config ALPHA
bool
default y
+ select HAVE_OPROFILE
help
The Alpha is a 64-bit general-purpose processor designed and
marketed by the Digital Equipment Corporation of blessed memory,
Index: linux-2.6-lttng/arch/arm/Kconfig
===================================================================
--- linux-2.6-lttng.orig/arch/arm/Kconfig 2007-12-04 12:40:09.000000000 -0500
+++ linux-2.6-lttng/arch/arm/Kconfig 2007-12-04 12:42:10.000000000 -0500
@@ -10,6 +10,7 @@ config ARM
default y
select RTC_LIB
select SYS_SUPPORTS_APM_EMULATION
+ select HAVE_OPROFILE
help
The ARM series is a line of low-power-consumption RISC chip designs
licensed by ARM Ltd and targeted at embedded applications and
Index: linux-2.6-lttng/arch/blackfin/Kconfig
===================================================================
--- linux-2.6-lttng.orig/arch/blackfin/Kconfig 2007-12-04 12:40:09.000000000 -0500
+++ linux-2.6-lttng/arch/blackfin/Kconfig 2007-12-04 12:42:10.000000000 -0500
@@ -24,6 +24,7 @@ config RWSEM_XCHGADD_ALGORITHM
config BLACKFIN
bool
default y
+ select HAVE_OPROFILE
config ZONE_DMA
bool
Index: linux-2.6-lttng/arch/ia64/Kconfig
===================================================================
--- linux-2.6-lttng.orig/arch/ia64/Kconfig 2007-12-04 12:40:09.000000000 -0500
+++ linux-2.6-lttng/arch/ia64/Kconfig 2007-12-04 12:42:11.000000000 -0500
@@ -15,6 +15,7 @@ config IA64
select ACPI if (!IA64_HP_SIM)
select PM if (!IA64_HP_SIM)
select ARCH_SUPPORTS_MSI
+ select HAVE_OPROFILE
default y
help
The Itanium Processor Family is Intel's 64-bit successor to
Index: linux-2.6-lttng/arch/m32r/Kconfig
===================================================================
--- linux-2.6-lttng.orig/arch/m32r/Kconfig 2007-12-04 12:40:09.000000000 -0500
+++ linux-2.6-lttng/arch/m32r/Kconfig 2007-12-04 12:42:11.000000000 -0500
@@ -8,6 +8,7 @@ mainmenu "Linux/M32R Kernel Configuratio
config M32R
bool
default y
+ select HAVE_OPROFILE
config SBUS
bool
Index: linux-2.6-lttng/arch/mips/Kconfig
===================================================================
--- linux-2.6-lttng.orig/arch/mips/Kconfig 2007-12-04 12:40:09.000000000 -0500
+++ linux-2.6-lttng/arch/mips/Kconfig 2007-12-04 12:42:11.000000000 -0500
@@ -1,6 +1,7 @@
config MIPS
bool
default y
+ select HAVE_OPROFILE
# Horrible source of confusion. Die, die, die ...
select EMBEDDED
select RTC_LIB
Index: linux-2.6-lttng/arch/parisc/Kconfig
===================================================================
--- linux-2.6-lttng.orig/arch/parisc/Kconfig 2007-12-04 12:40:09.000000000 -0500
+++ linux-2.6-lttng/arch/parisc/Kconfig 2007-12-04 12:42:11.000000000 -0500
@@ -7,6 +7,7 @@ mainmenu "Linux/PA-RISC Kernel Configura
config PARISC
def_bool y
+ select HAVE_OPROFILE
help
The PA-RISC microprocessor is designed by Hewlett-Packard and used
in many of their workstations & servers (HP9000 700 and 800 series,
Index: linux-2.6-lttng/arch/powerpc/Kconfig
===================================================================
--- linux-2.6-lttng.orig/arch/powerpc/Kconfig 2007-12-04 12:40:09.000000000 -0500
+++ linux-2.6-lttng/arch/powerpc/Kconfig 2007-12-04 12:42:11.000000000 -0500
@@ -79,6 +79,7 @@ config ARCH_NO_VIRT_TO_BUS
config PPC
bool
default y
+ select HAVE_OPROFILE
config EARLY_PRINTK
bool
Index: linux-2.6-lttng/arch/ppc/Kconfig
===================================================================
--- linux-2.6-lttng.orig/arch/ppc/Kconfig 2007-12-04 12:40:09.000000000 -0500
+++ linux-2.6-lttng/arch/ppc/Kconfig 2007-12-04 12:42:11.000000000 -0500
@@ -42,6 +42,7 @@ config GENERIC_CALIBRATE_DELAY
config PPC
bool
default y
+ select HAVE_OPROFILE
config PPC32
bool
Index: linux-2.6-lttng/arch/s390/Kconfig
===================================================================
--- linux-2.6-lttng.orig/arch/s390/Kconfig 2007-12-04 12:40:09.000000000 -0500
+++ linux-2.6-lttng/arch/s390/Kconfig 2007-12-04 12:42:11.000000000 -0500
@@ -51,6 +51,7 @@ mainmenu "Linux Kernel Configuration"
config S390
def_bool y
+ select HAVE_OPROFILE
source "init/Kconfig"
Index: linux-2.6-lttng/arch/sh/Kconfig
===================================================================
--- linux-2.6-lttng.orig/arch/sh/Kconfig 2007-12-04 12:40:09.000000000 -0500
+++ linux-2.6-lttng/arch/sh/Kconfig 2007-12-04 12:42:11.000000000 -0500
@@ -9,6 +9,7 @@ config SUPERH
bool
default y
select EMBEDDED
+ select HAVE_OPROFILE
help
The SuperH is a RISC processor targeted for use in embedded systems
and consumer electronics; it was also used in the Sega Dreamcast
Index: linux-2.6-lttng/arch/sh64/Kconfig
===================================================================
--- linux-2.6-lttng.orig/arch/sh64/Kconfig 2007-12-04 12:40:09.000000000 -0500
+++ linux-2.6-lttng/arch/sh64/Kconfig 2007-12-04 12:42:11.000000000 -0500
@@ -8,6 +8,7 @@ mainmenu "Linux/SH64 Kernel Configuratio
config SUPERH
bool
default y
+ select HAVE_OPROFILE
config SUPERH64
bool
Index: linux-2.6-lttng/arch/sparc/Kconfig
===================================================================
--- linux-2.6-lttng.orig/arch/sparc/Kconfig 2007-12-04 12:40:09.000000000 -0500
+++ linux-2.6-lttng/arch/sparc/Kconfig 2007-12-04 12:42:11.000000000 -0500
@@ -63,6 +63,7 @@ config NR_CPUS
config SPARC
bool
default y
+ select HAVE_OPROFILE
# Identify this as a Sparc32 build
config SPARC32
Index: linux-2.6-lttng/arch/sparc64/Kconfig
===================================================================
--- linux-2.6-lttng.orig/arch/sparc64/Kconfig 2007-12-04 12:40:09.000000000 -0500
+++ linux-2.6-lttng/arch/sparc64/Kconfig 2007-12-04 12:42:11.000000000 -0500
@@ -8,6 +8,7 @@ mainmenu "Linux/UltraSPARC Kernel Config
config SPARC
bool
default y
+ select HAVE_OPROFILE
config SPARC64
bool
Index: linux-2.6-lttng/arch/x86/Kconfig
===================================================================
--- linux-2.6-lttng.orig/arch/x86/Kconfig 2007-12-04 12:40:09.000000000 -0500
+++ linux-2.6-lttng/arch/x86/Kconfig 2007-12-04 12:42:11.000000000 -0500
@@ -19,6 +19,7 @@ config X86_64
config X86
bool
default y
+ select HAVE_OPROFILE
config GENERIC_TIME
bool
Index: linux-2.6-lttng/arch/avr32/Kconfig
===================================================================
--- linux-2.6-lttng.orig/arch/avr32/Kconfig 2007-12-04 12:41:06.000000000 -0500
+++ linux-2.6-lttng/arch/avr32/Kconfig 2007-12-04 12:42:11.000000000 -0500
@@ -11,6 +11,7 @@ config AVR32
# With EMBEDDED=n, we get lots of stuff automatically selected
# that we usually don't need on AVR32.
select EMBEDDED
+ select HAVE_OPROFILE
help
AVR32 is a high-performance 32-bit RISC microprocessor core,
designed for cost-sensitive embedded applications, with particular
--
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] 7+ messages in thread
* [patch 3/4] Add HAVE_KPROBES
2007-12-04 17:43 [patch 0/4] Instrumentation menu removal Mathieu Desnoyers
2007-12-04 17:43 ` [patch 1/4] Create arch/Kconfig Mathieu Desnoyers
2007-12-04 17:44 ` [patch 2/4] Add HAVE_OPROFILE Mathieu Desnoyers
@ 2007-12-04 17:44 ` Mathieu Desnoyers
2007-12-04 17:44 ` [patch 4/4] Move Kconfig.instrumentation to arch/Kconfig and init/Kconfig Mathieu Desnoyers
2007-12-04 18:03 ` [patch 0/4] Instrumentation menu removal Haavard Skinnemoen
4 siblings, 0 replies; 7+ messages in thread
From: Mathieu Desnoyers @ 2007-12-04 17:44 UTC (permalink / raw)
To: akpm, linux-kernel
Cc: Haavard Skinnemoen, Mathieu Desnoyers, Linus Torvalds, Sam Ravnborg
[-- Attachment #1: add-have-kprobes.patch --]
[-- Type: text/plain, Size: 5730 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...
Changelog:
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 KPROBES_SUPPORT
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...
- Use HAVE_KPROBES
- Use a select
- Yet another update :
Moving to HAVE_* now.
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 | 1 +
arch/ia64/Kconfig | 1 +
arch/powerpc/Kconfig | 1 +
arch/ppc/Kconfig | 1 +
arch/s390/Kconfig | 1 +
arch/sparc64/Kconfig | 1 +
arch/x86/Kconfig | 1 +
kernel/Kconfig.instrumentation | 5 ++++-
8 files changed, 11 insertions(+), 1 deletion(-)
Index: linux-2.6-lttng/arch/avr32/Kconfig
===================================================================
--- linux-2.6-lttng.orig/arch/avr32/Kconfig 2007-12-04 12:41:20.000000000 -0500
+++ linux-2.6-lttng/arch/avr32/Kconfig 2007-12-04 12:41:55.000000000 -0500
@@ -12,6 +12,7 @@ config AVR32
# that we usually don't need on AVR32.
select EMBEDDED
select HAVE_OPROFILE
+ select HAVE_KPROBES
help
AVR32 is a high-performance 32-bit RISC microprocessor core,
designed for cost-sensitive embedded applications, with particular
Index: linux-2.6-lttng/arch/ia64/Kconfig
===================================================================
--- linux-2.6-lttng.orig/arch/ia64/Kconfig 2007-12-04 12:40:35.000000000 -0500
+++ linux-2.6-lttng/arch/ia64/Kconfig 2007-12-04 12:41:40.000000000 -0500
@@ -16,6 +16,7 @@ config IA64
select PM if (!IA64_HP_SIM)
select ARCH_SUPPORTS_MSI
select HAVE_OPROFILE
+ select HAVE_KPROBES
default y
help
The Itanium Processor Family is Intel's 64-bit successor to
Index: linux-2.6-lttng/arch/powerpc/Kconfig
===================================================================
--- linux-2.6-lttng.orig/arch/powerpc/Kconfig 2007-12-04 12:40:36.000000000 -0500
+++ linux-2.6-lttng/arch/powerpc/Kconfig 2007-12-04 12:41:40.000000000 -0500
@@ -80,6 +80,7 @@ config PPC
bool
default y
select HAVE_OPROFILE
+ select HAVE_KPROBES
config EARLY_PRINTK
bool
Index: linux-2.6-lttng/arch/ppc/Kconfig
===================================================================
--- linux-2.6-lttng.orig/arch/ppc/Kconfig 2007-12-04 12:40:36.000000000 -0500
+++ linux-2.6-lttng/arch/ppc/Kconfig 2007-12-04 12:41:40.000000000 -0500
@@ -43,6 +43,7 @@ config PPC
bool
default y
select HAVE_OPROFILE
+ select HAVE_KPROBES
config PPC32
bool
Index: linux-2.6-lttng/arch/s390/Kconfig
===================================================================
--- linux-2.6-lttng.orig/arch/s390/Kconfig 2007-12-04 12:40:36.000000000 -0500
+++ linux-2.6-lttng/arch/s390/Kconfig 2007-12-04 12:41:40.000000000 -0500
@@ -52,6 +52,7 @@ mainmenu "Linux Kernel Configuration"
config S390
def_bool y
select HAVE_OPROFILE
+ select HAVE_KPROBES
source "init/Kconfig"
Index: linux-2.6-lttng/arch/sparc64/Kconfig
===================================================================
--- linux-2.6-lttng.orig/arch/sparc64/Kconfig 2007-12-04 12:40:36.000000000 -0500
+++ linux-2.6-lttng/arch/sparc64/Kconfig 2007-12-04 12:41:40.000000000 -0500
@@ -9,6 +9,7 @@ config SPARC
bool
default y
select HAVE_OPROFILE
+ select HAVE_KPROBES
config SPARC64
bool
Index: linux-2.6-lttng/kernel/Kconfig.instrumentation
===================================================================
--- linux-2.6-lttng.orig/kernel/Kconfig.instrumentation 2007-12-04 12:40:36.000000000 -0500
+++ linux-2.6-lttng/kernel/Kconfig.instrumentation 2007-12-04 12:41:40.000000000 -0500
@@ -35,7 +35,7 @@ config HAVE_OPROFILE
config KPROBES
bool "Kprobes"
depends on KALLSYMS && MODULES
- depends on (X86_32 || IA64 || PPC || S390 || SPARC64 || X86_64 || AVR32) && !UML
+ depends on HAVE_KPROBES
help
Kprobes allows you to trap at almost any kernel address and
execute a callback function. register_kprobe() establishes
@@ -43,6 +43,9 @@ config KPROBES
for kernel debugging, non-intrusive instrumentation and testing.
If in doubt, say "N".
+config HAVE_KPROBES
+ def_bool n
+
config MARKERS
bool "Activate markers"
help
Index: linux-2.6-lttng/arch/x86/Kconfig
===================================================================
--- linux-2.6-lttng.orig/arch/x86/Kconfig 2007-12-04 12:40:36.000000000 -0500
+++ linux-2.6-lttng/arch/x86/Kconfig 2007-12-04 12:41:40.000000000 -0500
@@ -20,6 +20,7 @@ config X86
bool
default y
select HAVE_OPROFILE
+ select HAVE_KPROBES
config GENERIC_TIME
bool
--
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] 7+ messages in thread
* [patch 4/4] Move Kconfig.instrumentation to arch/Kconfig and init/Kconfig
2007-12-04 17:43 [patch 0/4] Instrumentation menu removal Mathieu Desnoyers
` (2 preceding siblings ...)
2007-12-04 17:44 ` [patch 3/4] Add HAVE_KPROBES Mathieu Desnoyers
@ 2007-12-04 17:44 ` Mathieu Desnoyers
2007-12-04 18:03 ` [patch 0/4] Instrumentation menu removal Haavard Skinnemoen
4 siblings, 0 replies; 7+ messages in thread
From: Mathieu Desnoyers @ 2007-12-04 17:44 UTC (permalink / raw)
To: akpm, linux-kernel
Cc: Haavard Skinnemoen, Mathieu Desnoyers, Linus Torvalds, Sam Ravnborg
[-- Attachment #1: move-kconfig-instrumentation-to-arch.patch --]
[-- Type: text/plain, Size: 15553 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 | 28 ++++++++++++++++++++
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 | 2 -
arch/xtensa/Kconfig | 2 -
init/Kconfig | 12 ++++++++
kernel/Kconfig.instrumentation | 55 -----------------------------------------
26 files changed, 40 insertions(+), 101 deletions(-)
Index: linux-2.6-lttng/arch/Kconfig
===================================================================
--- linux-2.6-lttng.orig/arch/Kconfig 2007-12-04 12:42:02.000000000 -0500
+++ linux-2.6-lttng/arch/Kconfig 2007-12-04 12:42:03.000000000 -0500
@@ -1,3 +1,31 @@
#
# General architecture dependent options
#
+
+config OPROFILE
+ tristate "OProfile system profiling (EXPERIMENTAL)"
+ depends on PROFILING
+ depends on HAVE_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 HAVE_OPROFILE
+ def_bool n
+
+config KPROBES
+ bool "Kprobes"
+ depends on KALLSYMS && MODULES
+ depends on HAVE_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 HAVE_KPROBES
+ def_bool n
Index: linux-2.6-lttng/init/Kconfig
===================================================================
--- linux-2.6-lttng.orig/init/Kconfig 2007-12-04 12:42:02.000000000 -0500
+++ linux-2.6-lttng/init/Kconfig 2007-12-04 12:42:03.000000000 -0500
@@ -656,6 +656,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/arch/alpha/Kconfig
===================================================================
--- linux-2.6-lttng.orig/arch/alpha/Kconfig 2007-12-04 12:42:02.000000000 -0500
+++ linux-2.6-lttng/arch/alpha/Kconfig 2007-12-04 12:42:03.000000000 -0500
@@ -655,8 +655,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/arch/arm/Kconfig
===================================================================
--- linux-2.6-lttng.orig/arch/arm/Kconfig 2007-12-04 12:42:02.000000000 -0500
+++ linux-2.6-lttng/arch/arm/Kconfig 2007-12-04 12:42:03.000000000 -0500
@@ -1071,8 +1071,6 @@ endmenu
source "fs/Kconfig"
-source "kernel/Kconfig.instrumentation"
-
source "arch/arm/Kconfig.debug"
source "security/Kconfig"
Index: linux-2.6-lttng/arch/blackfin/Kconfig
===================================================================
--- linux-2.6-lttng.orig/arch/blackfin/Kconfig 2007-12-04 12:42:02.000000000 -0500
+++ linux-2.6-lttng/arch/blackfin/Kconfig 2007-12-04 12:42:03.000000000 -0500
@@ -995,8 +995,6 @@ source "drivers/Kconfig"
source "fs/Kconfig"
-source "kernel/Kconfig.instrumentation"
-
source "arch/blackfin/Kconfig.debug"
source "security/Kconfig"
Index: linux-2.6-lttng/arch/cris/Kconfig
===================================================================
--- linux-2.6-lttng.orig/arch/cris/Kconfig 2007-12-04 12:42:02.000000000 -0500
+++ linux-2.6-lttng/arch/cris/Kconfig 2007-12-04 12:42:03.000000000 -0500
@@ -213,8 +213,6 @@ source "drivers/pci/Kconfig"
source "drivers/usb/Kconfig"
-source "kernel/Kconfig.instrumentation"
-
source "arch/cris/Kconfig.debug"
source "security/Kconfig"
Index: linux-2.6-lttng/arch/frv/Kconfig
===================================================================
--- linux-2.6-lttng.orig/arch/frv/Kconfig 2007-12-04 12:42:02.000000000 -0500
+++ linux-2.6-lttng/arch/frv/Kconfig 2007-12-04 12:42:03.000000000 -0500
@@ -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/arch/h8300/Kconfig
===================================================================
--- linux-2.6-lttng.orig/arch/h8300/Kconfig 2007-12-04 12:42:02.000000000 -0500
+++ linux-2.6-lttng/arch/h8300/Kconfig 2007-12-04 12:42:03.000000000 -0500
@@ -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/arch/ia64/Kconfig
===================================================================
--- linux-2.6-lttng.orig/arch/ia64/Kconfig 2007-12-04 12:42:02.000000000 -0500
+++ linux-2.6-lttng/arch/ia64/Kconfig 2007-12-04 12:42:03.000000000 -0500
@@ -594,8 +594,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/arch/m32r/Kconfig
===================================================================
--- linux-2.6-lttng.orig/arch/m32r/Kconfig 2007-12-04 12:42:02.000000000 -0500
+++ linux-2.6-lttng/arch/m32r/Kconfig 2007-12-04 12:42:03.000000000 -0500
@@ -427,8 +427,6 @@ source "drivers/Kconfig"
source "fs/Kconfig"
-source "kernel/Kconfig.instrumentation"
-
source "arch/m32r/Kconfig.debug"
source "security/Kconfig"
Index: linux-2.6-lttng/arch/m68k/Kconfig
===================================================================
--- linux-2.6-lttng.orig/arch/m68k/Kconfig 2007-12-04 12:42:02.000000000 -0500
+++ linux-2.6-lttng/arch/m68k/Kconfig 2007-12-04 12:42:03.000000000 -0500
@@ -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/arch/m68knommu/Kconfig
===================================================================
--- linux-2.6-lttng.orig/arch/m68knommu/Kconfig 2007-12-04 12:42:02.000000000 -0500
+++ linux-2.6-lttng/arch/m68knommu/Kconfig 2007-12-04 12:42:03.000000000 -0500
@@ -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/arch/mips/Kconfig
===================================================================
--- linux-2.6-lttng.orig/arch/mips/Kconfig 2007-12-04 12:42:02.000000000 -0500
+++ linux-2.6-lttng/arch/mips/Kconfig 2007-12-04 12:42:03.000000000 -0500
@@ -2053,8 +2053,6 @@ source "drivers/Kconfig"
source "fs/Kconfig"
-source "kernel/Kconfig.instrumentation"
-
source "arch/mips/Kconfig.debug"
source "security/Kconfig"
Index: linux-2.6-lttng/arch/parisc/Kconfig
===================================================================
--- linux-2.6-lttng.orig/arch/parisc/Kconfig 2007-12-04 12:42:02.000000000 -0500
+++ linux-2.6-lttng/arch/parisc/Kconfig 2007-12-04 12:42:03.000000000 -0500
@@ -268,8 +268,6 @@ source "drivers/Kconfig"
source "fs/Kconfig"
-source "kernel/Kconfig.instrumentation"
-
source "arch/parisc/Kconfig.debug"
source "security/Kconfig"
Index: linux-2.6-lttng/arch/powerpc/Kconfig
===================================================================
--- linux-2.6-lttng.orig/arch/powerpc/Kconfig 2007-12-04 12:42:02.000000000 -0500
+++ linux-2.6-lttng/arch/powerpc/Kconfig 2007-12-04 12:42:03.000000000 -0500
@@ -676,8 +676,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/arch/ppc/Kconfig
===================================================================
--- linux-2.6-lttng.orig/arch/ppc/Kconfig 2007-12-04 12:42:02.000000000 -0500
+++ linux-2.6-lttng/arch/ppc/Kconfig 2007-12-04 12:42:03.000000000 -0500
@@ -1319,8 +1319,6 @@ endmenu
source "lib/Kconfig"
-source "kernel/Kconfig.instrumentation"
-
source "arch/ppc/Kconfig.debug"
source "security/Kconfig"
Index: linux-2.6-lttng/arch/s390/Kconfig
===================================================================
--- linux-2.6-lttng.orig/arch/s390/Kconfig 2007-12-04 12:42:02.000000000 -0500
+++ linux-2.6-lttng/arch/s390/Kconfig 2007-12-04 12:42:03.000000000 -0500
@@ -531,8 +531,6 @@ source "drivers/Kconfig"
source "fs/Kconfig"
-source "kernel/Kconfig.instrumentation"
-
source "arch/s390/Kconfig.debug"
source "security/Kconfig"
Index: linux-2.6-lttng/arch/sh/Kconfig
===================================================================
--- linux-2.6-lttng.orig/arch/sh/Kconfig 2007-12-04 12:42:02.000000000 -0500
+++ linux-2.6-lttng/arch/sh/Kconfig 2007-12-04 12:42:03.000000000 -0500
@@ -757,8 +757,6 @@ source "drivers/Kconfig"
source "fs/Kconfig"
-source "kernel/Kconfig.instrumentation"
-
source "arch/sh/Kconfig.debug"
source "security/Kconfig"
Index: linux-2.6-lttng/arch/sh64/Kconfig
===================================================================
--- linux-2.6-lttng.orig/arch/sh64/Kconfig 2007-12-04 12:42:02.000000000 -0500
+++ linux-2.6-lttng/arch/sh64/Kconfig 2007-12-04 12:42:03.000000000 -0500
@@ -285,8 +285,6 @@ source "drivers/Kconfig"
source "fs/Kconfig"
-source "kernel/Kconfig.instrumentation"
-
source "arch/sh64/Kconfig.debug"
source "security/Kconfig"
Index: linux-2.6-lttng/arch/sparc/Kconfig
===================================================================
--- linux-2.6-lttng.orig/arch/sparc/Kconfig 2007-12-04 12:42:02.000000000 -0500
+++ linux-2.6-lttng/arch/sparc/Kconfig 2007-12-04 12:42:03.000000000 -0500
@@ -321,8 +321,6 @@ endmenu
source "fs/Kconfig"
-source "kernel/Kconfig.instrumentation"
-
source "arch/sparc/Kconfig.debug"
source "security/Kconfig"
Index: linux-2.6-lttng/arch/sparc64/Kconfig
===================================================================
--- linux-2.6-lttng.orig/arch/sparc64/Kconfig 2007-12-04 12:42:02.000000000 -0500
+++ linux-2.6-lttng/arch/sparc64/Kconfig 2007-12-04 12:42:03.000000000 -0500
@@ -464,8 +464,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/arch/um/Kconfig
===================================================================
--- linux-2.6-lttng.orig/arch/um/Kconfig 2007-12-04 12:42:02.000000000 -0500
+++ linux-2.6-lttng/arch/um/Kconfig 2007-12-04 12:42:03.000000000 -0500
@@ -289,6 +289,4 @@ config INPUT
bool
default n
-source "kernel/Kconfig.instrumentation"
-
source "arch/um/Kconfig.debug"
Index: linux-2.6-lttng/arch/v850/Kconfig
===================================================================
--- linux-2.6-lttng.orig/arch/v850/Kconfig 2007-12-04 12:42:02.000000000 -0500
+++ linux-2.6-lttng/arch/v850/Kconfig 2007-12-04 12:42:03.000000000 -0500
@@ -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/arch/xtensa/Kconfig
===================================================================
--- linux-2.6-lttng.orig/arch/xtensa/Kconfig 2007-12-04 12:42:02.000000000 -0500
+++ linux-2.6-lttng/arch/xtensa/Kconfig 2007-12-04 12:42:03.000000000 -0500
@@ -251,8 +251,6 @@ config EMBEDDED_RAMDISK_IMAGE
provide one yourself.
endmenu
-source "kernel/Kconfig.instrumentation"
-
source "arch/xtensa/Kconfig.debug"
source "security/Kconfig"
Index: linux-2.6-lttng/arch/x86/Kconfig
===================================================================
--- linux-2.6-lttng.orig/arch/x86/Kconfig 2007-12-04 12:42:02.000000000 -0500
+++ linux-2.6-lttng/arch/x86/Kconfig 2007-12-04 12:42:03.000000000 -0500
@@ -1611,8 +1611,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/kernel/Kconfig.instrumentation
===================================================================
--- linux-2.6-lttng.orig/kernel/Kconfig.instrumentation 2007-12-04 12:42:02.000000000 -0500
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,55 +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 HAVE_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 HAVE_OPROFILE
- def_bool n
-
-config KPROBES
- bool "Kprobes"
- depends on KALLSYMS && MODULES
- depends on HAVE_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 HAVE_KPROBES
- def_bool 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
--
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] 7+ messages in thread
* Re: [patch 0/4] Instrumentation menu removal
2007-12-04 17:43 [patch 0/4] Instrumentation menu removal Mathieu Desnoyers
` (3 preceding siblings ...)
2007-12-04 17:44 ` [patch 4/4] Move Kconfig.instrumentation to arch/Kconfig and init/Kconfig Mathieu Desnoyers
@ 2007-12-04 18:03 ` Haavard Skinnemoen
4 siblings, 0 replies; 7+ messages in thread
From: Haavard Skinnemoen @ 2007-12-04 18:03 UTC (permalink / raw)
To: Mathieu Desnoyers; +Cc: akpm, linux-kernel
On Tue, 04 Dec 2007 12:43:58 -0500
Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca> wrote:
> [PATCH 1/2] [AVR32] Include instrumentation menu
> [PATCH 2/2] [AVR32] Oprofile support
>
> (which have been merged in the avr32 tree by Haavard)
I forgot to actually apply the patches though. I've pushed them out
now. Thanks, Mathieu.
Håvard
^ permalink raw reply [flat|nested] 7+ messages in thread
* [patch 0/4] Instrumentation menu removal
@ 2007-11-13 14:26 Mathieu Desnoyers
0 siblings, 0 replies; 7+ messages in thread
From: Mathieu Desnoyers @ 2007-11-13 14:26 UTC (permalink / raw)
To: akpm, linux-kernel
Hi Andrew,
Following Linus's advice, this patch moves the content of "Instrumentation
Support" menu to "General Setup". The content is taken from
kernel/Kconfig.instrumentation and moved to init/Kconfig and arch/Kconfig.
This patchset applies on top of 2.6.24-rc2-git3 in the following order :
# instrumentation menu removal
#for -mm
add-kconfig-to-arch.patch
add-arch-supports-oprofile.patch
add-arch-supports-kprobes.patch
move-kconfig-instrumentation-to-arch.patch
This should be ready for -mm.
Mathieu
--
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] 7+ messages in thread
end of thread, other threads:[~2007-12-04 18:03 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-12-04 17:43 [patch 0/4] Instrumentation menu removal Mathieu Desnoyers
2007-12-04 17:43 ` [patch 1/4] Create arch/Kconfig Mathieu Desnoyers
2007-12-04 17:44 ` [patch 2/4] Add HAVE_OPROFILE Mathieu Desnoyers
2007-12-04 17:44 ` [patch 3/4] Add HAVE_KPROBES Mathieu Desnoyers
2007-12-04 17:44 ` [patch 4/4] Move Kconfig.instrumentation to arch/Kconfig and init/Kconfig Mathieu Desnoyers
2007-12-04 18:03 ` [patch 0/4] Instrumentation menu removal Haavard Skinnemoen
-- strict thread matches above, loose matches on Subject: below --
2007-11-13 14:26 Mathieu Desnoyers
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).