From: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
To: akpm@linux-foundation.org, linux-kernel@vger.kernel.org
Cc: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>,
Linus Torvalds <torvalds@linux-foundation.org>,
Sam Ravnborg <sam@ravnborg.org>
Subject: [patch 3/4] Add ARCH_SUPPORTS_KPROBES
Date: Thu, 15 Nov 2007 20:59:28 -0500 [thread overview]
Message-ID: <20071116020027.508415061@polymtl.ca> (raw)
In-Reply-To: 20071116015925.175012068@polymtl.ca
[-- Attachment #1: add-arch-supports-kprobes.patch --]
[-- Type: text/plain, Size: 6478 bytes --]
Linus:
On the per-architecture side, I do think it would be better to *not* have
internal architecture knowledge in a generic file, and as such a line like
depends on X86_32 || IA64 || PPC || S390 || SPARC64 || X86_64 || AVR32
really shouldn't exist in a file like kernel/Kconfig.instrumentation.
It would be much better to do
depends on ARCH_SUPPORTS_KPROBES
in that generic file, and then architectures that do support it would just
have a
bool ARCH_SUPPORTS_KPROBES
default y
in *their* architecture files. That would seem to be much more logical,
and is readable both for arch maintainers *and* for people who have no
clue - and don't care - about which architecture is supposed to support
which interface...
Changelog:
Actually, I know I gave this as the magic incantation, but now that I see
it, I realize that I should have told you to just use
config KPROBES_SUPPORT
def_bool y
instead, which is a bit denser.
We seem to use both kinds of syntax for these things, but this is really
what "def_bool" is there for...
- Use ARCH_HAS_KPROBES
- Use a select
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
CC: Linus Torvalds <torvalds@linux-foundation.org>
CC: Sam Ravnborg <sam@ravnborg.org>
---
arch/avr32/Kconfig | 1 +
arch/ia64/Kconfig | 1 +
arch/powerpc/Kconfig | 1 +
arch/ppc/Kconfig | 1 +
arch/s390/Kconfig | 1 +
arch/sparc64/Kconfig | 1 +
arch/x86/Kconfig.i386 | 1 +
arch/x86/Kconfig.x86_64 | 1 +
kernel/Kconfig.instrumentation | 5 ++++-
9 files changed, 12 insertions(+), 1 deletion(-)
Index: linux-2.6-lttng/arch/avr32/Kconfig
===================================================================
--- linux-2.6-lttng.orig/arch/avr32/Kconfig 2007-11-14 17:03:05.000000000 -0500
+++ linux-2.6-lttng/arch/avr32/Kconfig 2007-11-14 17:11:33.000000000 -0500
@@ -11,6 +11,7 @@ config AVR32
# With EMBEDDED=n, we get lots of stuff automatically selected
# that we usually don't need on AVR32.
select EMBEDDED
+ select ARCH_HAS_KPROBES
help
AVR32 is a high-performance 32-bit RISC microprocessor core,
designed for cost-sensitive embedded applications, with particular
Index: linux-2.6-lttng/arch/ia64/Kconfig
===================================================================
--- linux-2.6-lttng.orig/arch/ia64/Kconfig 2007-11-14 17:05:38.000000000 -0500
+++ linux-2.6-lttng/arch/ia64/Kconfig 2007-11-14 17:11:45.000000000 -0500
@@ -16,6 +16,7 @@ config IA64
select PM if (!IA64_HP_SIM)
select ARCH_SUPPORTS_MSI
select ARCH_HAS_OPROFILE
+ select ARCH_HAS_KPROBES
default y
help
The Itanium Processor Family is Intel's 64-bit successor to
Index: linux-2.6-lttng/arch/powerpc/Kconfig
===================================================================
--- linux-2.6-lttng.orig/arch/powerpc/Kconfig 2007-11-14 17:07:13.000000000 -0500
+++ linux-2.6-lttng/arch/powerpc/Kconfig 2007-11-14 17:11:59.000000000 -0500
@@ -80,6 +80,7 @@ config PPC
bool
default y
select ARCH_HAS_OPROFILE
+ select ARCH_HAS_KPROBES
config EARLY_PRINTK
bool
Index: linux-2.6-lttng/arch/ppc/Kconfig
===================================================================
--- linux-2.6-lttng.orig/arch/ppc/Kconfig 2007-11-14 17:07:55.000000000 -0500
+++ linux-2.6-lttng/arch/ppc/Kconfig 2007-11-14 17:12:08.000000000 -0500
@@ -43,6 +43,7 @@ config PPC
bool
default y
select ARCH_HAS_OPROFILE
+ select ARCH_HAS_KPROBES
config PPC32
bool
Index: linux-2.6-lttng/arch/s390/Kconfig
===================================================================
--- linux-2.6-lttng.orig/arch/s390/Kconfig 2007-11-14 17:08:15.000000000 -0500
+++ linux-2.6-lttng/arch/s390/Kconfig 2007-11-14 17:12:19.000000000 -0500
@@ -52,6 +52,7 @@ mainmenu "Linux Kernel Configuration"
config S390
def_bool y
select ARCH_HAS_OPROFILE
+ select ARCH_HAS_KPROBES
source "init/Kconfig"
Index: linux-2.6-lttng/arch/sparc64/Kconfig
===================================================================
--- linux-2.6-lttng.orig/arch/sparc64/Kconfig 2007-11-14 17:09:07.000000000 -0500
+++ linux-2.6-lttng/arch/sparc64/Kconfig 2007-11-14 17:12:27.000000000 -0500
@@ -9,6 +9,7 @@ config SPARC
bool
default y
select ARCH_HAS_OPROFILE
+ select ARCH_HAS_KPROBES
config SPARC64
bool
Index: linux-2.6-lttng/arch/x86/Kconfig.i386
===================================================================
--- linux-2.6-lttng.orig/arch/x86/Kconfig.i386 2007-11-14 17:09:16.000000000 -0500
+++ linux-2.6-lttng/arch/x86/Kconfig.i386 2007-11-14 17:12:34.000000000 -0500
@@ -9,6 +9,7 @@ config X86_32
bool
default y
select ARCH_HAS_OPROFILE
+ select ARCH_HAS_KPROBES
help
This is Linux's home port. Linux was originally native to the Intel
386, and runs on all the later x86 processors including the Intel
Index: linux-2.6-lttng/arch/x86/Kconfig.x86_64
===================================================================
--- linux-2.6-lttng.orig/arch/x86/Kconfig.x86_64 2007-11-14 17:09:22.000000000 -0500
+++ linux-2.6-lttng/arch/x86/Kconfig.x86_64 2007-11-14 17:12:41.000000000 -0500
@@ -13,6 +13,7 @@ config X86_64
bool
default y
select ARCH_HAS_OPROFILE
+ select ARCH_HAS_KPROBES
help
Port to the x86-64 architecture. x86-64 is a 64-bit extension to the
classical 32-bit x86 architecture. For details see
Index: linux-2.6-lttng/kernel/Kconfig.instrumentation
===================================================================
--- linux-2.6-lttng.orig/kernel/Kconfig.instrumentation 2007-11-14 17:09:56.000000000 -0500
+++ linux-2.6-lttng/kernel/Kconfig.instrumentation 2007-11-14 17:12:48.000000000 -0500
@@ -35,7 +35,7 @@ config ARCH_HAS_OPROFILE
config KPROBES
bool "Kprobes"
depends on KALLSYMS && MODULES
- depends on X86_32 || IA64 || PPC || S390 || SPARC64 || X86_64 || AVR32
+ depends on ARCH_HAS_KPROBES
help
Kprobes allows you to trap at almost any kernel address and
execute a callback function. register_kprobe() establishes
@@ -43,6 +43,9 @@ config KPROBES
for kernel debugging, non-intrusive instrumentation and testing.
If in doubt, say "N".
+config ARCH_HAS_KPROBES
+ def_bool n
+
config MARKERS
bool "Activate markers"
help
--
Mathieu Desnoyers
Computer Engineering Ph.D. Student, Ecole Polytechnique de Montreal
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68
next prev parent reply other threads:[~2007-11-16 2:01 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
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-16 1:59 ` [patch 2/4] Add ARCH_SUPPORTS_OPROFILE Mathieu Desnoyers
2007-11-16 2:08 ` Andrew Morton
2007-11-16 2:23 ` Mathieu Desnoyers
2007-11-16 2:30 ` Andrew Morton
2007-11-16 3:10 ` Mathieu Desnoyers
2007-11-16 1:59 ` Mathieu Desnoyers [this message]
2007-11-16 1:59 ` [patch 4/4] Move Kconfig.instrumentation to arch/Kconfig and init/Kconfig Mathieu Desnoyers
-- strict thread matches above, loose matches on Subject: below --
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 3/4] Add ARCH_SUPPORTS_KPROBES Mathieu Desnoyers
2007-11-13 14:26 [patch 0/4] Instrumentation menu removal Mathieu Desnoyers
2007-11-13 14:26 ` [patch 3/4] Add ARCH_SUPPORTS_KPROBES 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 3/4] Add ARCH_SUPPORTS_KPROBES Mathieu Desnoyers
2007-10-31 1:03 [patch 0/4] Add ARCH_SUPPORTS_KPROBES (take 2) Mathieu Desnoyers
2007-10-31 1:03 ` [patch 3/4] Add ARCH_SUPPORTS_KPROBES Mathieu Desnoyers
2007-10-31 0:31 [patch 0/4] Creation of arch/Kconfig for ARCH_SUPPORTS_* options Mathieu Desnoyers
2007-10-31 0:31 ` [patch 3/4] Add ARCH_SUPPORTS_KPROBES Mathieu Desnoyers
2007-10-31 0:51 ` Linus Torvalds
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20071116020027.508415061@polymtl.ca \
--to=mathieu.desnoyers@polymtl.ca \
--cc=akpm@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=sam@ravnborg.org \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.