All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
To: akpm@linux-foundation.org, linux-kernel@vger.kernel.org
Cc: Haavard Skinnemoen <hskinnemoen@atmel.com>,
	Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Sam Ravnborg <sam@ravnborg.org>
Subject: [patch 3/4] Add HAVE_KPROBES
Date: Tue, 04 Dec 2007 12:44:01 -0500	[thread overview]
Message-ID: <20071204175400.449815865@polymtl.ca> (raw)
In-Reply-To: 20071204174358.271253130@polymtl.ca

[-- Attachment #1: add-have-kprobes.patch --]
[-- Type: text/plain, Size: 5730 bytes --]

Linus:

On the per-architecture side, I do think it would be better to *not* have
internal architecture knowledge in a generic file, and as such a line like

        depends on X86_32 || IA64 || PPC || S390 || SPARC64 || X86_64 || AVR32

really shouldn't exist in a file like kernel/Kconfig.instrumentation.

It would be much better to do

        depends on ARCH_SUPPORTS_KPROBES

in that generic file, and then architectures that do support it would just
have a

        bool ARCH_SUPPORTS_KPROBES
                default y

in *their* architecture files. That would seem to be much more logical,
and is readable both for arch maintainers *and* for people who have no
clue - and don't care - about which architecture is supposed to support
which interface...

Changelog:

Actually, I know I gave this as the magic incantation, but now that I see
it, I realize that I should have told you to just use

        config KPROBES_SUPPORT
                def_bool y

instead, which is a bit denser.

We seem to use both kinds of syntax for these things, but this is really
what "def_bool" is there for...

- Use HAVE_KPROBES
- Use a select

- Yet another update :

Moving to HAVE_* now.


Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
CC: Linus Torvalds <torvalds@linux-foundation.org>
CC: Sam Ravnborg <sam@ravnborg.org>
---
 arch/avr32/Kconfig             |    1 +
 arch/ia64/Kconfig              |    1 +
 arch/powerpc/Kconfig           |    1 +
 arch/ppc/Kconfig               |    1 +
 arch/s390/Kconfig              |    1 +
 arch/sparc64/Kconfig           |    1 +
 arch/x86/Kconfig               |    1 +
 kernel/Kconfig.instrumentation |    5 ++++-
 8 files changed, 11 insertions(+), 1 deletion(-)

Index: linux-2.6-lttng/arch/avr32/Kconfig
===================================================================
--- linux-2.6-lttng.orig/arch/avr32/Kconfig	2007-12-04 12:41:20.000000000 -0500
+++ linux-2.6-lttng/arch/avr32/Kconfig	2007-12-04 12:41:55.000000000 -0500
@@ -12,6 +12,7 @@ config AVR32
 	# that we usually don't need on AVR32.
 	select EMBEDDED
 	select HAVE_OPROFILE
+	select HAVE_KPROBES
 	help
 	  AVR32 is a high-performance 32-bit RISC microprocessor core,
 	  designed for cost-sensitive embedded applications, with particular
Index: linux-2.6-lttng/arch/ia64/Kconfig
===================================================================
--- linux-2.6-lttng.orig/arch/ia64/Kconfig	2007-12-04 12:40:35.000000000 -0500
+++ linux-2.6-lttng/arch/ia64/Kconfig	2007-12-04 12:41:40.000000000 -0500
@@ -16,6 +16,7 @@ config IA64
 	select PM if (!IA64_HP_SIM)
 	select ARCH_SUPPORTS_MSI
 	select HAVE_OPROFILE
+	select HAVE_KPROBES
 	default y
 	help
 	  The Itanium Processor Family is Intel's 64-bit successor to
Index: linux-2.6-lttng/arch/powerpc/Kconfig
===================================================================
--- linux-2.6-lttng.orig/arch/powerpc/Kconfig	2007-12-04 12:40:36.000000000 -0500
+++ linux-2.6-lttng/arch/powerpc/Kconfig	2007-12-04 12:41:40.000000000 -0500
@@ -80,6 +80,7 @@ config PPC
 	bool
 	default y
 	select HAVE_OPROFILE
+	select HAVE_KPROBES
 
 config EARLY_PRINTK
 	bool
Index: linux-2.6-lttng/arch/ppc/Kconfig
===================================================================
--- linux-2.6-lttng.orig/arch/ppc/Kconfig	2007-12-04 12:40:36.000000000 -0500
+++ linux-2.6-lttng/arch/ppc/Kconfig	2007-12-04 12:41:40.000000000 -0500
@@ -43,6 +43,7 @@ config PPC
 	bool
 	default y
 	select HAVE_OPROFILE
+	select HAVE_KPROBES
 
 config PPC32
 	bool
Index: linux-2.6-lttng/arch/s390/Kconfig
===================================================================
--- linux-2.6-lttng.orig/arch/s390/Kconfig	2007-12-04 12:40:36.000000000 -0500
+++ linux-2.6-lttng/arch/s390/Kconfig	2007-12-04 12:41:40.000000000 -0500
@@ -52,6 +52,7 @@ mainmenu "Linux Kernel Configuration"
 config S390
 	def_bool y
 	select HAVE_OPROFILE
+	select HAVE_KPROBES
 
 source "init/Kconfig"
 
Index: linux-2.6-lttng/arch/sparc64/Kconfig
===================================================================
--- linux-2.6-lttng.orig/arch/sparc64/Kconfig	2007-12-04 12:40:36.000000000 -0500
+++ linux-2.6-lttng/arch/sparc64/Kconfig	2007-12-04 12:41:40.000000000 -0500
@@ -9,6 +9,7 @@ config SPARC
 	bool
 	default y
 	select HAVE_OPROFILE
+	select HAVE_KPROBES
 
 config SPARC64
 	bool
Index: linux-2.6-lttng/kernel/Kconfig.instrumentation
===================================================================
--- linux-2.6-lttng.orig/kernel/Kconfig.instrumentation	2007-12-04 12:40:36.000000000 -0500
+++ linux-2.6-lttng/kernel/Kconfig.instrumentation	2007-12-04 12:41:40.000000000 -0500
@@ -35,7 +35,7 @@ config HAVE_OPROFILE
 config KPROBES
 	bool "Kprobes"
 	depends on KALLSYMS && MODULES
-	depends on (X86_32 || IA64 || PPC || S390 || SPARC64 || X86_64 || AVR32) && !UML
+	depends on HAVE_KPROBES
 	help
 	  Kprobes allows you to trap at almost any kernel address and
 	  execute a callback function.  register_kprobe() establishes
@@ -43,6 +43,9 @@ config KPROBES
 	  for kernel debugging, non-intrusive instrumentation and testing.
 	  If in doubt, say "N".
 
+config HAVE_KPROBES
+	def_bool n
+
 config MARKERS
 	bool "Activate markers"
 	help
Index: linux-2.6-lttng/arch/x86/Kconfig
===================================================================
--- linux-2.6-lttng.orig/arch/x86/Kconfig	2007-12-04 12:40:36.000000000 -0500
+++ linux-2.6-lttng/arch/x86/Kconfig	2007-12-04 12:41:40.000000000 -0500
@@ -20,6 +20,7 @@ config X86
 	bool
 	default y
 	select HAVE_OPROFILE
+	select HAVE_KPROBES
 
 config GENERIC_TIME
 	bool

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

  parent reply	other threads:[~2007-12-04 17:55 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-12-04 17:43 [patch 0/4] Instrumentation menu removal Mathieu Desnoyers
2007-12-04 17:43 ` [patch 1/4] Create arch/Kconfig Mathieu Desnoyers
2007-12-04 17:44 ` [patch 2/4] Add HAVE_OPROFILE Mathieu Desnoyers
2007-12-04 17:44 ` Mathieu Desnoyers [this message]
2007-12-04 17:44 ` [patch 4/4] Move Kconfig.instrumentation to arch/Kconfig and init/Kconfig Mathieu Desnoyers
2007-12-04 18:03 ` [patch 0/4] Instrumentation menu removal Haavard Skinnemoen
  -- strict thread matches above, loose matches on Subject: below --
2007-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 3/4] Add HAVE_KPROBES Mathieu Desnoyers
2007-11-16  3:30 [patch 0/4] Instrumentation menu removal (HAVE_* form) Mathieu Desnoyers
2007-11-16  3:31 ` [patch 3/4] Add HAVE_KPROBES Mathieu Desnoyers

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=20071204175400.449815865@polymtl.ca \
    --to=mathieu.desnoyers@polymtl.ca \
    --cc=akpm@linux-foundation.org \
    --cc=hskinnemoen@atmel.com \
    --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.