2008-01-24 20:43:36

by Mathieu Desnoyers

[permalink] [raw]
Subject: [patch 02/26] Fix ARM to play nicely with generic Instrumentation menu

The conflicting commit for
move-kconfiginstrumentation-to-arch-kconfig-and-init-kconfig.patch
is the ARM fix from Linus :

commit 38ad9aebe70dc72df08851bbd1620d89329129ba

He just seemed to agree that my approach (just putting the missing ARM
config options in arch/arm/Kconfig) works too. The main advantage it has
is that it is smaller, does not need a cleanup in the future and does
not break the following patches unnecessarily.

It's just been discussed here

http://lkml.org/lkml/2008/1/15/267

However, Linus might prefer to stay with his own patch and I would
totally understand it that late in the release cycle. Therefore I submit
this for the next release cycle.

After applying this patch,
move-kconfiginstrumentation-to-arch-kconfig-and-init-kconfig.patch
applies nicely in the -mm tree without any modification.

Signed-off-by: Mathieu Desnoyers <[email protected]>
CC: Linus Torvalds <[email protected]>
CC: Russell King <[email protected]>
CC: Ingo Molnar <[email protected]>
CC: [email protected]
CC: [email protected]
CC: [email protected]
CC: [email protected]
CC: Adrian Bunk <[email protected]>
CC: Randy Dunlap <[email protected]>
CC: [email protected]
CC: [email protected]
---
arch/arm/Kconfig | 19 +++++++++++++-
arch/arm/Kconfig.instrumentation | 52 ---------------------------------------
2 files changed, 18 insertions(+), 53 deletions(-)

Index: linux-2.6-lttng.mm/arch/arm/Kconfig
===================================================================
--- linux-2.6-lttng.mm.orig/arch/arm/Kconfig 2008-01-24 14:10:37.000000000 -0500
+++ linux-2.6-lttng.mm/arch/arm/Kconfig 2008-01-24 14:18:00.000000000 -0500
@@ -144,6 +144,23 @@ config FIQ
config ARCH_MTD_XIP
bool

+if OPROFILE
+
+config OPROFILE_ARMV6
+ def_bool y
+ depends on CPU_V6 && !SMP
+ select OPROFILE_ARM11_CORE
+
+config OPROFILE_MPCORE
+ def_bool y
+ depends on CPU_V6 && SMP
+ select OPROFILE_ARM11_CORE
+
+config OPROFILE_ARM11_CORE
+ bool
+
+endif
+
config VECTORS_BASE
hex
default 0xffff0000 if MMU || CPU_HIGH_VECTOR
@@ -1132,7 +1149,7 @@ endmenu

source "fs/Kconfig"

-source "arch/arm/Kconfig.instrumentation"
+source "kernel/Kconfig.instrumentation"

source "arch/arm/Kconfig.debug"

Index: linux-2.6-lttng.mm/arch/arm/Kconfig.instrumentation
===================================================================
--- linux-2.6-lttng.mm.orig/arch/arm/Kconfig.instrumentation 2008-01-24 14:09:00.000000000 -0500
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,52 +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 && !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

--
Mathieu Desnoyers
Computer Engineering Ph.D. Student, Ecole Polytechnique de Montreal
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68


2008-01-24 21:14:41

by Russell King

[permalink] [raw]
Subject: Re: [patch 02/26] Fix ARM to play nicely with generic Instrumentation menu

On Thu, Jan 24, 2008 at 03:27:08PM -0500, Mathieu Desnoyers wrote:
> The conflicting commit for
> move-kconfiginstrumentation-to-arch-kconfig-and-init-kconfig.patch
> is the ARM fix from Linus :
>
> commit 38ad9aebe70dc72df08851bbd1620d89329129ba

Since we have changes which depend on the location of these options,
please hold off until the ARM tree merges in the next window:

----------------------- arch/arm/Kconfig.instrumentation -----------------------
index 63b8c6d..453ad8e 100644
@@ -43,6 +43,16 @@ config OPROFILE_MPCORE
config OPROFILE_ARM11_CORE
bool

+config KPROBES
+ bool "Kprobes"
+ depends on KALLSYMS && MODULES && !UML && !XIP_KERNEL
+ 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


--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of:

2008-01-24 21:28:58

by Mathieu Desnoyers

[permalink] [raw]
Subject: Re: [patch 02/26] Fix ARM to play nicely with generic Instrumentation menu

* Russell King ([email protected]) wrote:
> On Thu, Jan 24, 2008 at 03:27:08PM -0500, Mathieu Desnoyers wrote:
> > The conflicting commit for
> > move-kconfiginstrumentation-to-arch-kconfig-and-init-kconfig.patch
> > is the ARM fix from Linus :
> >
> > commit 38ad9aebe70dc72df08851bbd1620d89329129ba
>
> Since we have changes which depend on the location of these options,
> please hold off until the ARM tree merges in the next window:
>

Can you add me to the CC list of this patch please ?

> ----------------------- arch/arm/Kconfig.instrumentation -----------------------
> index 63b8c6d..453ad8e 100644
> @@ -43,6 +43,16 @@ config OPROFILE_MPCORE
> config OPROFILE_ARM11_CORE
> bool
>
> +config KPROBES
> + bool "Kprobes"
> + depends on KALLSYMS && MODULES && !UML && !XIP_KERNEL
> + 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
>
>
> --
> Russell King
> Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
> maintainer of:

--
Mathieu Desnoyers
Computer Engineering Ph.D. Student, Ecole Polytechnique de Montreal
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68

2008-01-24 22:19:22

by Russell King

[permalink] [raw]
Subject: Re: [patch 02/26] Fix ARM to play nicely with generic Instrumentation menu

On Thu, Jan 24, 2008 at 04:23:43PM -0500, Mathieu Desnoyers wrote:
> * Russell King ([email protected]) wrote:
> > On Thu, Jan 24, 2008 at 03:27:08PM -0500, Mathieu Desnoyers wrote:
> > > The conflicting commit for
> > > move-kconfiginstrumentation-to-arch-kconfig-and-init-kconfig.patch
> > > is the ARM fix from Linus :
> > >
> > > commit 38ad9aebe70dc72df08851bbd1620d89329129ba
> >
> > Since we have changes which depend on the location of these options,
> > please hold off until the ARM tree merges in the next window:
> >
>
> Can you add me to the CC list of this patch please ?

Not really because it's merged, and any discussion happened a few months
back (though it was updated when Linus fixed your broken changes.)

You can read the patch set at 2007-12-17, via:

http://lists.arm.linux.org.uk/lurker/search/20380101.000000.00000000@ml:linux-arm-kernel,kprobes.en.html

--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of: