All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
To: 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 2/4] Add ARCH_SUPPORTS_OPROFILE
Date: Tue, 30 Oct 2007 20:31:42 -0400	[thread overview]
Message-ID: <20071031003329.959130694@polymtl.ca> (raw)
In-Reply-To: 20071031003140.904670073@polymtl.ca

[-- Attachment #1: add-arch-supports-oprofile.patch --]
[-- Type: text/plain, Size: 10071 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...

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,10 @@ config AUTO_IRQ_AFFINITY
 	depends on SMP
 	default y
 
+config ARCH_SUPPORTS_OPROFILE
+	bool
+	default 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,10 @@ config GENERIC_CALIBRATE_DELAY
 	bool
 	default y
 
+config ARCH_SUPPORTS_OPROFILE
+	bool
+	default 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,10 @@ config GENERIC_CALIBRATE_DELAY
 	bool
 	default y
 
+config ARCH_SUPPORTS_OPROFILE
+	bool
+	default 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,10 @@ config AUDIT_ARCH
 	bool
 	default y
 
+config ARCH_SUPPORTS_OPROFILE
+	bool
+	default 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,10 @@ config NO_IOPORT
 config NO_DMA
 	def_bool y
 
+config ARCH_SUPPORTS_OPROFILE
+	bool
+	default 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,10 @@ config GENERIC_HARDIRQS_NO__DO_IRQ
 	bool
 	default n
 
+config ARCH_SUPPORTS_OPROFILE
+	bool
+	default 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,10 @@ config IRQ_PER_CPU
 	bool
 	default y
 
+config ARCH_SUPPORTS_OPROFILE
+	bool
+	default 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,10 @@ config PPC_OF_PLATFORM_PCI
 	depends on PPC64 # not supported on 32 bits yet
 	default n
 
+config ARCH_SUPPORTS_OPROFILE
+	bool
+	default 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,10 @@ config GENERIC_BUG
 	default y
 	depends on BUG
 
+config ARCH_SUPPORTS_OPROFILE
+	bool
+	default 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,10 @@ mainmenu "Linux Kernel Configuration"
 config S390
 	def_bool y
 
+config ARCH_SUPPORTS_OPROFILE
+	bool
+	default 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,10 @@ config ARCH_HAS_ILOG2_U64
 config ARCH_NO_VIRT_TO_BUS
 	def_bool y
 
+config ARCH_SUPPORTS_OPROFILE
+	bool
+	default 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,10 @@ config ARCH_HAS_ILOG2_U64
 config ARCH_NO_VIRT_TO_BUS
 	def_bool y
 
+config ARCH_SUPPORTS_OPROFILE
+	bool
+	default 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,10 @@ config ARCH_NO_VIRT_TO_BUS
 config OF
 	def_bool y
 
+config ARCH_SUPPORTS_OPROFILE
+	bool
+	default 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,10 @@ config GENERIC_HARDIRQS_NO__DO_IRQ
 	bool
 	def_bool y
 
+config ARCH_SUPPORTS_OPROFILE
+	bool
+	default 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,10 @@ config DMI
 	bool
 	default y
 
+config ARCH_SUPPORTS_OPROFILE
+	bool
+	default 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,10 @@ config ARCH_HAS_ILOG2_U64
 	bool
 	default n
 
+config ARCH_SUPPORTS_OPROFILE
+	bool
+	default 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

  parent reply	other threads:[~2007-10-31  0:35 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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
2007-10-31  0:31 ` Mathieu Desnoyers [this message]
2007-10-31  0:31 ` [patch 3/4] Add ARCH_SUPPORTS_KPROBES Mathieu Desnoyers
2007-10-31  0:51   ` Linus Torvalds
2007-10-31  0:31 ` [patch 4/4] Move Kconfig.instrumentation to arch/Kconfig and init/Kconfig Mathieu Desnoyers
  -- strict thread matches above, loose matches on Subject: below --
2007-10-31  1:03 [patch 0/4] Add ARCH_SUPPORTS_KPROBES (take 2) Mathieu Desnoyers
2007-10-31  1:03 ` [patch 2/4] Add ARCH_SUPPORTS_OPROFILE 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 2/4] Add ARCH_SUPPORTS_OPROFILE Mathieu Desnoyers
2007-11-13 14:26 [patch 0/4] Instrumentation menu removal Mathieu Desnoyers
2007-11-13 14:26 ` [patch 2/4] Add ARCH_SUPPORTS_OPROFILE Mathieu Desnoyers
2007-11-14 19:41   ` Sam Ravnborg
2007-11-14 21:35     ` Mathieu Desnoyers
2007-11-14 21:54       ` Sam Ravnborg
2007-11-16  1:59 [patch 0/4] Updated instrumentation menu patches 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  2:36 [patch 0/4] Instrumentation menu removal, updated to 2.6.24-rc2-git5 Mathieu Desnoyers
2007-11-16  2:36 ` [patch 2/4] Add ARCH_SUPPORTS_OPROFILE 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=20071031003329.959130694@polymtl.ca \
    --to=mathieu.desnoyers@polymtl.ca \
    --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.