* [patch 0/4] Add ARCH_SUPPORTS_KPROBES (take 2)
@ 2007-10-31 1:03 Mathieu Desnoyers
2007-10-31 1:03 ` [patch 1/4] Create arch/Kconfig Mathieu Desnoyers
` (4 more replies)
0 siblings, 5 replies; 18+ messages in thread
From: Mathieu Desnoyers @ 2007-10-31 1:03 UTC (permalink / raw)
To: linux-kernel
take 2, using def_bool this time.
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] 18+ messages in thread* [patch 1/4] Create arch/Kconfig 2007-10-31 1:03 [patch 0/4] Add ARCH_SUPPORTS_KPROBES (take 2) Mathieu Desnoyers @ 2007-10-31 1:03 ` Mathieu Desnoyers 2007-10-31 1:03 ` [patch 2/4] Add ARCH_SUPPORTS_OPROFILE Mathieu Desnoyers ` (3 subsequent siblings) 4 siblings, 0 replies; 18+ messages in thread From: Mathieu Desnoyers @ 2007-10-31 1:03 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] 18+ messages in thread
* [patch 2/4] Add ARCH_SUPPORTS_OPROFILE 2007-10-31 1:03 [patch 0/4] Add ARCH_SUPPORTS_KPROBES (take 2) Mathieu Desnoyers 2007-10-31 1:03 ` [patch 1/4] Create arch/Kconfig Mathieu Desnoyers @ 2007-10-31 1:03 ` Mathieu Desnoyers 2007-10-31 1:03 ` [patch 3/4] Add ARCH_SUPPORTS_KPROBES Mathieu Desnoyers ` (2 subsequent siblings) 4 siblings, 0 replies; 18+ messages in thread From: Mathieu Desnoyers @ 2007-10-31 1:03 UTC (permalink / raw) To: linux-kernel; +Cc: Mathieu Desnoyers, Linus Torvalds, Sam Ravnborg [-- Attachment #1: add-arch-supports-oprofile.patch --] [-- Type: text/plain, Size: 10304 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... 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,9 @@ config AUTO_IRQ_AFFINITY depends on SMP default y +config ARCH_SUPPORTS_OPROFILE + def_bool 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,9 @@ config GENERIC_CALIBRATE_DELAY bool default y +config ARCH_SUPPORTS_OPROFILE + def_bool 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,9 @@ config GENERIC_CALIBRATE_DELAY bool default y +config ARCH_SUPPORTS_OPROFILE + def_bool 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,9 @@ config AUDIT_ARCH bool default y +config ARCH_SUPPORTS_OPROFILE + def_bool 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,9 @@ config NO_IOPORT config NO_DMA def_bool y +config ARCH_SUPPORTS_OPROFILE + def_bool 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,9 @@ config GENERIC_HARDIRQS_NO__DO_IRQ bool default n +config ARCH_SUPPORTS_OPROFILE + def_bool 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,9 @@ config IRQ_PER_CPU bool default y +config ARCH_SUPPORTS_OPROFILE + def_bool 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,9 @@ config PPC_OF_PLATFORM_PCI depends on PPC64 # not supported on 32 bits yet default n +config ARCH_SUPPORTS_OPROFILE + def_bool 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,9 @@ config GENERIC_BUG default y depends on BUG +config ARCH_SUPPORTS_OPROFILE + def_bool 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,9 @@ mainmenu "Linux Kernel Configuration" config S390 def_bool y +config ARCH_SUPPORTS_OPROFILE + def_bool 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,9 @@ config ARCH_HAS_ILOG2_U64 config ARCH_NO_VIRT_TO_BUS def_bool y +config ARCH_SUPPORTS_OPROFILE + def_bool 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,9 @@ config ARCH_HAS_ILOG2_U64 config ARCH_NO_VIRT_TO_BUS def_bool y +config ARCH_SUPPORTS_OPROFILE + def_bool 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,9 @@ config ARCH_NO_VIRT_TO_BUS config OF def_bool y +config ARCH_SUPPORTS_OPROFILE + def_bool 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,9 @@ config GENERIC_HARDIRQS_NO__DO_IRQ bool def_bool y +config ARCH_SUPPORTS_OPROFILE + def_bool 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,9 @@ config DMI bool default y +config ARCH_SUPPORTS_OPROFILE + def_bool 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,9 @@ config ARCH_HAS_ILOG2_U64 bool default n +config ARCH_SUPPORTS_OPROFILE + def_bool 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] 18+ messages in thread
* [patch 3/4] Add ARCH_SUPPORTS_KPROBES 2007-10-31 1:03 [patch 0/4] Add ARCH_SUPPORTS_KPROBES (take 2) Mathieu Desnoyers 2007-10-31 1:03 ` [patch 1/4] Create arch/Kconfig Mathieu Desnoyers 2007-10-31 1:03 ` [patch 2/4] Add ARCH_SUPPORTS_OPROFILE Mathieu Desnoyers @ 2007-10-31 1:03 ` Mathieu Desnoyers 2007-10-31 1:03 ` [patch 4/4] Move Kconfig.instrumentation to arch/Kconfig and init/Kconfig Mathieu Desnoyers 2007-11-06 19:39 ` [patch 0/4] Add ARCH_SUPPORTS_KPROBES (take 2) Haavard Skinnemoen 4 siblings, 0 replies; 18+ messages in thread From: Mathieu Desnoyers @ 2007-10-31 1:03 UTC (permalink / raw) To: linux-kernel; +Cc: Mathieu Desnoyers, Linus Torvalds, Sam Ravnborg [-- Attachment #1: add-arch-supports-kprobes.patch --] [-- Type: text/plain, Size: 6294 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... 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 | 3 +++ arch/ia64/Kconfig | 3 +++ arch/powerpc/Kconfig | 3 +++ arch/ppc/Kconfig | 3 +++ arch/s390/Kconfig | 3 +++ arch/sparc64/Kconfig | 3 +++ arch/x86/Kconfig.i386 | 3 +++ arch/x86/Kconfig.x86_64 | 3 +++ kernel/Kconfig.instrumentation | 2 +- 9 files changed, 25 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:56:33.000000000 -0400 +++ linux-2.6-lttng.stable/arch/avr32/Kconfig 2007-10-30 21:02:03.000000000 -0400 @@ -70,6 +70,9 @@ config GENERIC_BUG default y depends on BUG +config ARCH_SUPPORTS_KPROBES + def_bool 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 21:02:03.000000000 -0400 +++ linux-2.6-lttng.stable/arch/ia64/Kconfig 2007-10-30 21:02:03.000000000 -0400 @@ -102,6 +102,9 @@ config AUDIT_ARCH config ARCH_SUPPORTS_OPROFILE def_bool y +config ARCH_SUPPORTS_KPROBES + def_bool 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 21:02:03.000000000 -0400 +++ linux-2.6-lttng.stable/arch/powerpc/Kconfig 2007-10-30 21:02:03.000000000 -0400 @@ -166,6 +166,9 @@ config PPC_OF_PLATFORM_PCI config ARCH_SUPPORTS_OPROFILE def_bool y +config ARCH_SUPPORTS_KPROBES + def_bool 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 21:02:03.000000000 -0400 +++ linux-2.6-lttng.stable/arch/ppc/Kconfig 2007-10-30 21:02:03.000000000 -0400 @@ -72,6 +72,9 @@ config GENERIC_BUG config ARCH_SUPPORTS_OPROFILE def_bool y +config ARCH_SUPPORTS_KPROBES + def_bool 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 21:02:03.000000000 -0400 +++ linux-2.6-lttng.stable/arch/s390/Kconfig 2007-10-30 21:02:03.000000000 -0400 @@ -55,6 +55,9 @@ config S390 config ARCH_SUPPORTS_OPROFILE def_bool y +config ARCH_SUPPORTS_KPROBES + def_bool 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 21:02:03.000000000 -0400 +++ linux-2.6-lttng.stable/arch/sparc64/Kconfig 2007-10-30 21:02:03.000000000 -0400 @@ -79,6 +79,9 @@ config GENERIC_HARDIRQS_NO__DO_IRQ config ARCH_SUPPORTS_OPROFILE def_bool y +config ARCH_SUPPORTS_KPROBES + def_bool 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 21:02:03.000000000 -0400 +++ linux-2.6-lttng.stable/arch/x86/Kconfig.i386 2007-10-30 21:02:03.000000000 -0400 @@ -94,6 +94,9 @@ config DMI config ARCH_SUPPORTS_OPROFILE def_bool y +config ARCH_SUPPORTS_KPROBES + def_bool 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 21:02:03.000000000 -0400 +++ linux-2.6-lttng.stable/arch/x86/Kconfig.x86_64 2007-10-30 21:02:03.000000000 -0400 @@ -136,6 +136,9 @@ config ARCH_HAS_ILOG2_U64 config ARCH_SUPPORTS_OPROFILE def_bool y +config ARCH_SUPPORTS_KPROBES + def_bool 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 21:02:03.000000000 -0400 +++ linux-2.6-lttng.stable/kernel/Kconfig.instrumentation 2007-10-30 21:02:03.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] 18+ messages in thread
* [patch 4/4] Move Kconfig.instrumentation to arch/Kconfig and init/Kconfig 2007-10-31 1:03 [patch 0/4] Add ARCH_SUPPORTS_KPROBES (take 2) Mathieu Desnoyers ` (2 preceding siblings ...) 2007-10-31 1:03 ` [patch 3/4] Add ARCH_SUPPORTS_KPROBES Mathieu Desnoyers @ 2007-10-31 1:03 ` Mathieu Desnoyers 2007-11-06 19:39 ` [patch 0/4] Add ARCH_SUPPORTS_KPROBES (take 2) Haavard Skinnemoen 4 siblings, 0 replies; 18+ messages in thread From: Mathieu Desnoyers @ 2007-10-31 1:03 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:56:31.000000000 -0400 +++ linux-2.6-lttng.stable/arch/Kconfig 2007-10-30 21:02:17.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:56:32.000000000 -0400 +++ linux-2.6-lttng.stable/init/Kconfig 2007-10-30 21:02:17.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 21:02:03.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 21:02:03.000000000 -0400 +++ linux-2.6-lttng.stable/arch/alpha/Kconfig 2007-10-30 21:02:17.000000000 -0400 @@ -657,8 +657,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 21:02:03.000000000 -0400 +++ linux-2.6-lttng.stable/arch/arm/Kconfig 2007-10-30 21:02:17.000000000 -0400 @@ -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.stable/arch/blackfin/Kconfig =================================================================== --- linux-2.6-lttng.stable.orig/arch/blackfin/Kconfig 2007-10-30 21:02:03.000000000 -0400 +++ linux-2.6-lttng.stable/arch/blackfin/Kconfig 2007-10-30 21:02:17.000000000 -0400 @@ -1076,8 +1076,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:56:31.000000000 -0400 +++ linux-2.6-lttng.stable/arch/cris/Kconfig 2007-10-30 21:02:17.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:56:31.000000000 -0400 +++ linux-2.6-lttng.stable/arch/frv/Kconfig 2007-10-30 21:02:17.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:56:31.000000000 -0400 +++ linux-2.6-lttng.stable/arch/h8300/Kconfig 2007-10-30 21:02:17.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 21:02:03.000000000 -0400 +++ linux-2.6-lttng.stable/arch/ia64/Kconfig 2007-10-30 21:02:17.000000000 -0400 @@ -598,8 +598,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 21:02:03.000000000 -0400 +++ linux-2.6-lttng.stable/arch/m32r/Kconfig 2007-10-30 21:02:17.000000000 -0400 @@ -429,8 +429,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:56:31.000000000 -0400 +++ linux-2.6-lttng.stable/arch/m68k/Kconfig 2007-10-30 21:02:17.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:56:31.000000000 -0400 +++ linux-2.6-lttng.stable/arch/m68knommu/Kconfig 2007-10-30 21:02:17.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 21:02:03.000000000 -0400 +++ linux-2.6-lttng.stable/arch/mips/Kconfig 2007-10-30 21:02:17.000000000 -0400 @@ -2018,8 +2018,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 21:02:03.000000000 -0400 +++ linux-2.6-lttng.stable/arch/parisc/Kconfig 2007-10-30 21:02:17.000000000 -0400 @@ -270,8 +270,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 21:02:03.000000000 -0400 +++ linux-2.6-lttng.stable/arch/powerpc/Kconfig 2007-10-30 21:02:17.000000000 -0400 @@ -675,8 +675,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 21:02:03.000000000 -0400 +++ linux-2.6-lttng.stable/arch/ppc/Kconfig 2007-10-30 21:02:17.000000000 -0400 @@ -1323,8 +1323,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 21:02:03.000000000 -0400 +++ linux-2.6-lttng.stable/arch/s390/Kconfig 2007-10-30 21:02:17.000000000 -0400 @@ -535,8 +535,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 21:02:03.000000000 -0400 +++ linux-2.6-lttng.stable/arch/sh/Kconfig 2007-10-30 21:02:17.000000000 -0400 @@ -761,8 +761,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 21:02:03.000000000 -0400 +++ linux-2.6-lttng.stable/arch/sh64/Kconfig 2007-10-30 21:02:17.000000000 -0400 @@ -287,8 +287,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 21:02:03.000000000 -0400 +++ linux-2.6-lttng.stable/arch/sparc/Kconfig 2007-10-30 21:02:17.000000000 -0400 @@ -323,8 +323,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 21:02:03.000000000 -0400 +++ linux-2.6-lttng.stable/arch/sparc64/Kconfig 2007-10-30 21:02:17.000000000 -0400 @@ -468,8 +468,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:56:32.000000000 -0400 +++ linux-2.6-lttng.stable/arch/um/Kconfig 2007-10-30 21:02:17.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:56:32.000000000 -0400 +++ linux-2.6-lttng.stable/arch/v850/Kconfig 2007-10-30 21:02:17.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 21:02:03.000000000 -0400 +++ linux-2.6-lttng.stable/arch/x86/Kconfig.i386 2007-10-30 21:02:17.000000000 -0400 @@ -1276,8 +1276,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 21:02:03.000000000 -0400 +++ linux-2.6-lttng.stable/arch/x86/Kconfig.x86_64 2007-10-30 21:02:17.000000000 -0400 @@ -834,8 +834,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:56:32.000000000 -0400 +++ linux-2.6-lttng.stable/arch/xtensa/Kconfig 2007-10-30 21:02:17.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] 18+ messages in thread
* Re: [patch 0/4] Add ARCH_SUPPORTS_KPROBES (take 2) 2007-10-31 1:03 [patch 0/4] Add ARCH_SUPPORTS_KPROBES (take 2) Mathieu Desnoyers ` (3 preceding siblings ...) 2007-10-31 1:03 ` [patch 4/4] Move Kconfig.instrumentation to arch/Kconfig and init/Kconfig Mathieu Desnoyers @ 2007-11-06 19:39 ` Haavard Skinnemoen 2007-11-06 20:42 ` Mathieu Desnoyers 4 siblings, 1 reply; 18+ messages in thread From: Haavard Skinnemoen @ 2007-11-06 19:39 UTC (permalink / raw) To: Mathieu Desnoyers; +Cc: linux-kernel, Andrew Morton On Tue, 30 Oct 2007 21:03:45 -0400 Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca> wrote: > take 2, using def_bool this time. Currently, avr32 doesn't include kernel/Kconfig.instrumentation, but defines KPROBES in arch/avr32/Kconfig.debug instead. I want to bring avr32 in sync with everyone else, but that will obviously conflict with this patchset. Are these patches about to get merged or should I just send my stuff upstream and ask you to rebase afterwards? Håvard ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [patch 0/4] Add ARCH_SUPPORTS_KPROBES (take 2) 2007-11-06 19:39 ` [patch 0/4] Add ARCH_SUPPORTS_KPROBES (take 2) Haavard Skinnemoen @ 2007-11-06 20:42 ` Mathieu Desnoyers 2007-11-06 21:34 ` Haavard Skinnemoen 0 siblings, 1 reply; 18+ messages in thread From: Mathieu Desnoyers @ 2007-11-06 20:42 UTC (permalink / raw) To: Haavard Skinnemoen; +Cc: linux-kernel, Andrew Morton * Haavard Skinnemoen (hskinnemoen@atmel.com) wrote: > On Tue, 30 Oct 2007 21:03:45 -0400 > Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca> wrote: > > > take 2, using def_bool this time. > > Currently, avr32 doesn't include kernel/Kconfig.instrumentation, but > defines KPROBES in arch/avr32/Kconfig.debug instead. I want to bring > avr32 in sync with everyone else, but that will obviously conflict with > this patchset. > > Are these patches about to get merged or should I just send my stuff > upstream and ask you to rebase afterwards? > I have not posted them to Andrew yet. I can do it right away, so you could rebase on them. Mathieu > Håvard -- 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] 18+ messages in thread
* Re: [patch 0/4] Add ARCH_SUPPORTS_KPROBES (take 2) 2007-11-06 20:42 ` Mathieu Desnoyers @ 2007-11-06 21:34 ` Haavard Skinnemoen 0 siblings, 0 replies; 18+ messages in thread From: Haavard Skinnemoen @ 2007-11-06 21:34 UTC (permalink / raw) To: Mathieu Desnoyers; +Cc: linux-kernel, Andrew Morton On Tue, 6 Nov 2007 15:42:42 -0500 Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca> wrote: > I have not posted them to Andrew yet. I can do it right away, so you > could rebase on them. Thanks. I'll rebase and submit it tomorrow, and then put oprofile on top of that. Håvard ^ permalink raw reply [flat|nested] 18+ messages in thread
* [patch 0/4] Instrumentation menu removal, against 2.6.24-rc4-mm1 (mmotm) @ 2007-12-08 15:32 Mathieu Desnoyers 2007-12-08 15:32 ` [patch 1/4] Create arch/Kconfig Mathieu Desnoyers 0 siblings, 1 reply; 18+ messages in thread From: Mathieu Desnoyers @ 2007-12-08 15:32 UTC (permalink / raw) To: akpm, linux-kernel Hi Andrew, This time I am taking no chance : The instrumentation menu removal patchset here applies against 2.6.24-rc4-mm1 _and_ against mmotm (dated : stamp-2007-12-05-15-24) without problem. We should hopefully be able to stop racing against other architecture specific fixes done underneath. Please be aware that the following fix : - fix-oprofile-configuration-breakage.patch from MIPS did not show up in your mmotm tree. I guess you just sent it upstream without keeping it in your own tree. I have applied the content of this fix in my patchset (meaning : select HAVE_OPROFILE if !MIPS_MT_SMTC in add-have-oprofile.patch), but I think you might have a reject if you still have this fix-oprofile-configuration-breakage.patch in your local tree but not in mmotm. 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] 18+ messages in thread
* [patch 1/4] Create arch/Kconfig 2007-12-08 15:32 [patch 0/4] Instrumentation menu removal, against 2.6.24-rc4-mm1 (mmotm) Mathieu Desnoyers @ 2007-12-08 15:32 ` Mathieu Desnoyers 0 siblings, 0 replies; 18+ messages in thread From: Mathieu Desnoyers @ 2007-12-08 15:32 UTC (permalink / raw) To: akpm, linux-kernel; +Cc: Mathieu Desnoyers, Linus Torvalds, Sam Ravnborg [-- Attachment #1: add-kconfig-to-arch.patch --] [-- Type: text/plain, Size: 3896 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.mm/init/Kconfig =================================================================== --- linux-2.6-lttng.mm.orig/init/Kconfig 2007-12-08 09:54:40.000000000 -0500 +++ linux-2.6-lttng.mm/init/Kconfig 2007-12-08 09:57:15.000000000 -0500 @@ -701,6 +701,8 @@ config PROC_PAGE_MONITOR /proc/kpagecount, and /proc/kpageflags. Disabling these interfaces will reduce the size of the kernel by approximately 4kb. +source "arch/Kconfig" + endmenu # General setup config RT_MUTEXES Index: linux-2.6-lttng.mm/arch/Kconfig =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 +++ linux-2.6-lttng.mm/arch/Kconfig 2007-12-08 09:57:15.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] 18+ messages in thread
* [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 0 siblings, 1 reply; 18+ 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] 18+ 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 0 siblings, 0 replies; 18+ 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] 18+ messages in thread
* [patch 0/4] Instrumentation menu removal (HAVE_* form) @ 2007-11-16 3:30 Mathieu Desnoyers 2007-11-16 3:30 ` [patch 1/4] Create arch/Kconfig Mathieu Desnoyers 0 siblings, 1 reply; 18+ messages in thread From: Mathieu Desnoyers @ 2007-11-16 3:30 UTC (permalink / raw) To: akpm, linux-kernel Should hopefully be the final form. Please wait 1-2 days before merge, just in case Sam changes his mind ;) 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] 18+ messages in thread
* [patch 1/4] Create arch/Kconfig 2007-11-16 3:30 [patch 0/4] Instrumentation menu removal (HAVE_* form) Mathieu Desnoyers @ 2007-11-16 3:30 ` Mathieu Desnoyers 0 siblings, 0 replies; 18+ messages in thread From: Mathieu Desnoyers @ 2007-11-16 3:30 UTC (permalink / raw) To: akpm, linux-kernel; +Cc: 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-11-02 13:20:51.000000000 -0400 +++ linux-2.6-lttng/init/Kconfig 2007-11-02 13:20:52.000000000 -0400 @@ -644,6 +644,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-11-02 13:20:52.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] 18+ messages in thread
* [patch 0/4] Instrumentation menu removal, updated to 2.6.24-rc2-git5 @ 2007-11-16 2:36 Mathieu Desnoyers 2007-11-16 2:36 ` [patch 1/4] Create arch/Kconfig Mathieu Desnoyers 0 siblings, 1 reply; 18+ messages in thread From: Mathieu Desnoyers @ 2007-11-16 2:36 UTC (permalink / raw) To: akpm, linux-kernel Hi Andrew, This patchset should apply flawlessly to 2.6.24-rc2-git5. Sorry again for the inconvenience. 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] 18+ messages in thread
* [patch 1/4] Create arch/Kconfig 2007-11-16 2:36 [patch 0/4] Instrumentation menu removal, updated to 2.6.24-rc2-git5 Mathieu Desnoyers @ 2007-11-16 2:36 ` Mathieu Desnoyers 0 siblings, 0 replies; 18+ messages in thread From: Mathieu Desnoyers @ 2007-11-16 2:36 UTC (permalink / raw) To: akpm, linux-kernel; +Cc: Mathieu Desnoyers, Linus Torvalds, Sam Ravnborg [-- Attachment #1: add-kconfig-to-arch.patch --] [-- Type: text/plain, Size: 3695 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. 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-11-02 13:20:51.000000000 -0400 +++ linux-2.6-lttng/init/Kconfig 2007-11-02 13:20:52.000000000 -0400 @@ -644,6 +644,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-11-02 13:20:52.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] 18+ messages in thread
* [patch 0/4] Updated instrumentation menu patches @ 2007-11-16 1:59 Mathieu Desnoyers 2007-11-16 1:59 ` [patch 1/4] Create arch/Kconfig Mathieu Desnoyers 0 siblings, 1 reply; 18+ messages in thread From: Mathieu Desnoyers @ 2007-11-16 1:59 UTC (permalink / raw) To: akpm, linux-kernel Hi Andrew, Here are the patches updated following Sam Ravnborg's comments. 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] 18+ messages in thread
* [patch 1/4] Create arch/Kconfig 2007-11-16 1:59 [patch 0/4] Updated instrumentation menu patches Mathieu Desnoyers @ 2007-11-16 1:59 ` Mathieu Desnoyers 0 siblings, 0 replies; 18+ messages in thread From: Mathieu Desnoyers @ 2007-11-16 1:59 UTC (permalink / raw) To: akpm, linux-kernel; +Cc: Mathieu Desnoyers, Linus Torvalds, Sam Ravnborg [-- Attachment #1: add-kconfig-to-arch.patch --] [-- Type: text/plain, Size: 3695 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. 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-11-02 13:20:51.000000000 -0400 +++ linux-2.6-lttng/init/Kconfig 2007-11-02 13:20:52.000000000 -0400 @@ -644,6 +644,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-11-02 13:20:52.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] 18+ messages in thread
* [patch 0/4] Instrumentation menu removal @ 2007-11-13 14:26 Mathieu Desnoyers 2007-11-13 14:26 ` [patch 1/4] Create arch/Kconfig Mathieu Desnoyers 0 siblings, 1 reply; 18+ 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] 18+ messages in thread
* [patch 1/4] Create arch/Kconfig 2007-11-13 14:26 [patch 0/4] Instrumentation menu removal Mathieu Desnoyers @ 2007-11-13 14:26 ` Mathieu Desnoyers 0 siblings, 0 replies; 18+ messages in thread From: Mathieu Desnoyers @ 2007-11-13 14:26 UTC (permalink / raw) To: akpm, linux-kernel; +Cc: Mathieu Desnoyers, Linus Torvalds, Sam Ravnborg [-- Attachment #1: add-kconfig-to-arch.patch --] [-- Type: text/plain, Size: 2991 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/init/Kconfig =================================================================== --- linux-2.6-lttng.orig/init/Kconfig 2007-11-02 13:20:51.000000000 -0400 +++ linux-2.6-lttng/init/Kconfig 2007-11-02 13:20:52.000000000 -0400 @@ -644,6 +644,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-11-02 13:20:52.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] 18+ messages in thread
* [patch 0/4] Move Instrumentation Support menu to arch/Kconfig @ 2007-11-06 20:37 Mathieu Desnoyers 2007-11-06 20:37 ` [patch 1/4] Create arch/Kconfig Mathieu Desnoyers 0 siblings, 1 reply; 18+ messages in thread From: Mathieu Desnoyers @ 2007-11-06 20:37 UTC (permalink / raw) To: akpm, linux-kernel, Haavard Skinnemoen Hi Andrew, Following a discussion with Linus, here is the implementation of the kernel/Kconfig.instrumentation removal. The result of the discussion has been to decide to move the architecture dependent instrumentation menu entries to arch/Kconfig and enable/disable each option on a per architecture basis with a Kconfig boolean. I moved the architecture independent instrumentation items to init/Kconfig. 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] 18+ messages in thread
* [patch 1/4] Create arch/Kconfig 2007-11-06 20:37 [patch 0/4] Move Instrumentation Support menu to arch/Kconfig Mathieu Desnoyers @ 2007-11-06 20:37 ` Mathieu Desnoyers 2007-11-06 21:12 ` H. Peter Anvin 0 siblings, 1 reply; 18+ messages in thread From: Mathieu Desnoyers @ 2007-11-06 20:37 UTC (permalink / raw) To: akpm, linux-kernel, Haavard Skinnemoen Cc: Mathieu Desnoyers, Linus Torvalds, Sam Ravnborg [-- Attachment #1: add-kconfig-to-arch.patch --] [-- Type: text/plain, Size: 2991 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/init/Kconfig =================================================================== --- linux-2.6-lttng.orig/init/Kconfig 2007-11-02 13:20:51.000000000 -0400 +++ linux-2.6-lttng/init/Kconfig 2007-11-02 13:20:52.000000000 -0400 @@ -644,6 +644,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-11-02 13:20:52.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] 18+ messages in thread
* Re: [patch 1/4] Create arch/Kconfig 2007-11-06 20:37 ` [patch 1/4] Create arch/Kconfig Mathieu Desnoyers @ 2007-11-06 21:12 ` H. Peter Anvin 2007-11-06 21:24 ` Randy Dunlap 0 siblings, 1 reply; 18+ messages in thread From: H. Peter Anvin @ 2007-11-06 21:12 UTC (permalink / raw) To: Mathieu Desnoyers Cc: akpm, linux-kernel, Haavard Skinnemoen, Linus Torvalds, Sam Ravnborg Ideally architecture should be a Kconfig option (it's not needed before config runs, unlike, say HOSTCC.) That might take some major surgery, though. -hpa ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [patch 1/4] Create arch/Kconfig 2007-11-06 21:12 ` H. Peter Anvin @ 2007-11-06 21:24 ` Randy Dunlap 0 siblings, 0 replies; 18+ messages in thread From: Randy Dunlap @ 2007-11-06 21:24 UTC (permalink / raw) To: H. Peter Anvin Cc: Mathieu Desnoyers, akpm, linux-kernel, Haavard Skinnemoen, Linus Torvalds, Sam Ravnborg On Tue, 06 Nov 2007 13:12:23 -0800 H. Peter Anvin wrote: > Ideally architecture should be a Kconfig option (it's not needed before > config runs, unlike, say HOSTCC.) > > That might take some major surgery, though. I think that's what Sam was going to try to get to. He said that we need all ARCHes to source "drivers/Kconfig", so I did cris. About 5 more ARCHes need conversions. --- ~Randy ^ permalink raw reply [flat|nested] 18+ messages in thread
* [patch 0/4] Creation of arch/Kconfig for ARCH_SUPPORTS_* options @ 2007-10-31 0:31 Mathieu Desnoyers 2007-10-31 0:31 ` [patch 1/4] Create arch/Kconfig Mathieu Desnoyers 0 siblings, 1 reply; 18+ messages in thread From: Mathieu Desnoyers @ 2007-10-31 0:31 UTC (permalink / raw) To: linux-kernel Hi, Here is the implementation of the arch/Kconfig, meant to keep archtecture specific menu entries repeated across many (but not all) architectures. ARCH_SUPPORTS_* should be defined in architectures that supports the option. 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] 18+ messages in thread
* [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 0 siblings, 0 replies; 18+ 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] 18+ messages in thread
end of thread, other threads:[~2007-12-08 15:40 UTC | newest] Thread overview: 18+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2007-10-31 1:03 [patch 0/4] Add ARCH_SUPPORTS_KPROBES (take 2) Mathieu Desnoyers 2007-10-31 1:03 ` [patch 1/4] Create arch/Kconfig Mathieu Desnoyers 2007-10-31 1:03 ` [patch 2/4] Add ARCH_SUPPORTS_OPROFILE Mathieu Desnoyers 2007-10-31 1:03 ` [patch 3/4] Add ARCH_SUPPORTS_KPROBES Mathieu Desnoyers 2007-10-31 1:03 ` [patch 4/4] Move Kconfig.instrumentation to arch/Kconfig and init/Kconfig Mathieu Desnoyers 2007-11-06 19:39 ` [patch 0/4] Add ARCH_SUPPORTS_KPROBES (take 2) Haavard Skinnemoen 2007-11-06 20:42 ` Mathieu Desnoyers 2007-11-06 21:34 ` Haavard Skinnemoen -- strict thread matches above, loose matches on Subject: below -- 2007-12-08 15:32 [patch 0/4] Instrumentation menu removal, against 2.6.24-rc4-mm1 (mmotm) Mathieu Desnoyers 2007-12-08 15:32 ` [patch 1/4] Create arch/Kconfig Mathieu Desnoyers 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-11-16 3:30 [patch 0/4] Instrumentation menu removal (HAVE_* form) Mathieu Desnoyers 2007-11-16 3:30 ` [patch 1/4] Create arch/Kconfig Mathieu Desnoyers 2007-11-16 2:36 [patch 0/4] Instrumentation menu removal, updated to 2.6.24-rc2-git5 Mathieu Desnoyers 2007-11-16 2:36 ` [patch 1/4] Create arch/Kconfig Mathieu Desnoyers 2007-11-16 1:59 [patch 0/4] Updated instrumentation menu patches Mathieu Desnoyers 2007-11-16 1:59 ` [patch 1/4] Create arch/Kconfig Mathieu Desnoyers 2007-11-13 14:26 [patch 0/4] Instrumentation menu removal Mathieu Desnoyers 2007-11-13 14:26 ` [patch 1/4] Create arch/Kconfig Mathieu Desnoyers 2007-11-06 20:37 [patch 0/4] Move Instrumentation Support menu to arch/Kconfig Mathieu Desnoyers 2007-11-06 20:37 ` [patch 1/4] Create arch/Kconfig Mathieu Desnoyers 2007-11-06 21:12 ` H. Peter Anvin 2007-11-06 21:24 ` Randy Dunlap 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
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox