Fix ARM profiling/instrumentation configuration
authorLinus Torvalds <torvalds@woody.linux-foundation.org>
Tue, 15 Jan 2008 17:23:51 +0000 (09:23 -0800)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Tue, 15 Jan 2008 17:23:51 +0000 (09:23 -0800)
Commit 09cadedbdc01f1a4bea1f427d4fb4642eaa19da9 ("Combine
instrumentation menus in kernel/Kconfig.instrumentation") broke ARM
profiling support, since ARM has some extra Kconfig options and doesn't
just use the common OPROFILE/KPROBES config options.

Rather than just revert the thing outright, or add ARM-specific
knowledge to the generic Kconfig.instrumentation file (where the only
and whole point was to be generic, not too architecture-specific), this
just makes ARM not use the generic version, since it doesn't suit it.

So create an arm-specific version of Kconfig.instrumentation instead,
and use that.

Acked-by: Ingo Molnar <mingo@elte.hu>
Acked-by: Russell King <rmk+lkml@arm.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
arch/arm/Kconfig
arch/arm/Kconfig.instrumentation [new file with mode: 0644]

index c4de2d4664d7d504fd63715fb84ec7450ac53496..3a75a0b2bebb2f2532e6458ee3c6a029168c4f7e 100644 (file)
@@ -1076,7 +1076,7 @@ endmenu
 
 source "fs/Kconfig"
 
-source "kernel/Kconfig.instrumentation"
+source "arch/arm/Kconfig.instrumentation"
 
 source "arch/arm/Kconfig.debug"
 
diff --git a/arch/arm/Kconfig.instrumentation b/arch/arm/Kconfig.instrumentation
new file mode 100644 (file)
index 0000000..63b8c6d
--- /dev/null
@@ -0,0 +1,52 @@
+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 && !UML
+       help
+         OProfile is a profiling system capable of profiling the
+         whole system, include the kernel, kernel modules, libraries,
+         and applications.
+
+         If unsure, say N.
+
+config OPROFILE_ARMV6
+       bool
+       depends on OPROFILE && CPU_V6 && !SMP
+       default y
+       select OPROFILE_ARM11_CORE
+
+config OPROFILE_MPCORE
+       bool
+       depends on OPROFILE && CPU_V6 && SMP
+       default y
+       select OPROFILE_ARM11_CORE
+
+config OPROFILE_ARM11_CORE
+       bool
+
+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