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>,
Haavard Skinnemoen <hskinnemoen@atmel.com>
Subject: [patch 2/4] Add HAVE_OPROFILE
Date: Sat, 08 Dec 2007 10:32:57 -0500 [thread overview]
Message-ID: <20071208153934.290075585@polymtl.ca> (raw)
In-Reply-To: 20071208153255.078261362@polymtl.ca
[-- Attachment #1: add-have-oprofile.patch --]
[-- Type: text/plain, Size: 10092 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 ARCH_SUPPORTS_KPROBES
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...
Changelog :
- Moving to HAVE_*.
- Add AVR32 oprofile.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
CC: Linus Torvalds <torvalds@linux-foundation.org>
CC: Sam Ravnborg <sam@ravnborg.org>
CC: Andrew Morton <akpm@linux-foundation.org>
CC: Haavard Skinnemoen <hskinnemoen@atmel.com>
---
arch/alpha/Kconfig | 1 +
arch/arm/Kconfig | 1 +
arch/avr32/Kconfig | 1 +
arch/blackfin/Kconfig | 1 +
arch/ia64/Kconfig | 1 +
arch/m32r/Kconfig | 1 +
arch/mips/Kconfig | 1 +
arch/parisc/Kconfig | 1 +
arch/powerpc/Kconfig | 1 +
arch/ppc/Kconfig | 1 +
arch/s390/Kconfig | 1 +
arch/sh/Kconfig | 1 +
arch/sparc/Kconfig | 1 +
arch/sparc64/Kconfig | 1 +
arch/x86/Kconfig | 1 +
kernel/Kconfig.instrumentation | 5 ++++-
16 files changed, 19 insertions(+), 1 deletion(-)
Index: linux-2.6-lttng.mm/kernel/Kconfig.instrumentation
===================================================================
--- linux-2.6-lttng.mm.orig/kernel/Kconfig.instrumentation 2007-12-08 09:53:22.000000000 -0500
+++ linux-2.6-lttng.mm/kernel/Kconfig.instrumentation 2007-12-08 09:59:35.000000000 -0500
@@ -21,7 +21,7 @@ config PROFILING
config OPROFILE
tristate "OProfile system profiling (EXPERIMENTAL)"
depends on PROFILING && !UML
- depends on ALPHA || ARM || AVR32 || BLACKFIN || X86_32 || IA64 || M32R || MIPS || PARISC || PPC || S390 || SUPERH || SPARC || X86_64
+ depends on HAVE_OPROFILE
help
OProfile is a profiling system capable of profiling the
whole system, include the kernel, kernel modules, libraries,
@@ -29,6 +29,9 @@ config OPROFILE
If unsure, say N.
+config HAVE_OPROFILE
+ def_bool n
+
config KPROBES
bool "Kprobes"
depends on KALLSYMS && MODULES
Index: linux-2.6-lttng.mm/arch/alpha/Kconfig
===================================================================
--- linux-2.6-lttng.mm.orig/arch/alpha/Kconfig 2007-12-08 09:54:47.000000000 -0500
+++ linux-2.6-lttng.mm/arch/alpha/Kconfig 2007-12-08 09:57:56.000000000 -0500
@@ -5,6 +5,7 @@
config ALPHA
bool
default y
+ select HAVE_OPROFILE
help
The Alpha is a 64-bit general-purpose processor designed and
marketed by the Digital Equipment Corporation of blessed memory,
Index: linux-2.6-lttng.mm/arch/arm/Kconfig
===================================================================
--- linux-2.6-lttng.mm.orig/arch/arm/Kconfig 2007-12-08 09:54:47.000000000 -0500
+++ linux-2.6-lttng.mm/arch/arm/Kconfig 2007-12-08 09:57:56.000000000 -0500
@@ -10,6 +10,7 @@ config ARM
default y
select RTC_LIB
select SYS_SUPPORTS_APM_EMULATION
+ select HAVE_OPROFILE
help
The ARM series is a line of low-power-consumption RISC chip designs
licensed by ARM Ltd and targeted at embedded applications and
Index: linux-2.6-lttng.mm/arch/blackfin/Kconfig
===================================================================
--- linux-2.6-lttng.mm.orig/arch/blackfin/Kconfig 2007-12-08 09:22:46.000000000 -0500
+++ linux-2.6-lttng.mm/arch/blackfin/Kconfig 2007-12-08 09:57:56.000000000 -0500
@@ -24,6 +24,7 @@ config RWSEM_XCHGADD_ALGORITHM
config BLACKFIN
bool
default y
+ select HAVE_OPROFILE
config ZONE_DMA
bool
Index: linux-2.6-lttng.mm/arch/ia64/Kconfig
===================================================================
--- linux-2.6-lttng.mm.orig/arch/ia64/Kconfig 2007-12-08 09:22:46.000000000 -0500
+++ linux-2.6-lttng.mm/arch/ia64/Kconfig 2007-12-08 09:57:56.000000000 -0500
@@ -15,6 +15,7 @@ config IA64
select ACPI if (!IA64_HP_SIM)
select PM if (!IA64_HP_SIM)
select ARCH_SUPPORTS_MSI
+ select HAVE_OPROFILE
default y
help
The Itanium Processor Family is Intel's 64-bit successor to
Index: linux-2.6-lttng.mm/arch/m32r/Kconfig
===================================================================
--- linux-2.6-lttng.mm.orig/arch/m32r/Kconfig 2007-12-08 09:54:47.000000000 -0500
+++ linux-2.6-lttng.mm/arch/m32r/Kconfig 2007-12-08 09:57:56.000000000 -0500
@@ -8,6 +8,7 @@ mainmenu "Linux/M32R Kernel Configuratio
config M32R
bool
default y
+ select HAVE_OPROFILE
config SBUS
bool
Index: linux-2.6-lttng.mm/arch/mips/Kconfig
===================================================================
--- linux-2.6-lttng.mm.orig/arch/mips/Kconfig 2007-12-08 09:53:40.000000000 -0500
+++ linux-2.6-lttng.mm/arch/mips/Kconfig 2007-12-08 10:07:16.000000000 -0500
@@ -1,6 +1,7 @@
config MIPS
bool
default y
+ select HAVE_OPROFILE if !MIPS_MT_SMTC
# Horrible source of confusion. Die, die, die ...
select EMBEDDED
select RTC_LIB
Index: linux-2.6-lttng.mm/arch/parisc/Kconfig
===================================================================
--- linux-2.6-lttng.mm.orig/arch/parisc/Kconfig 2007-12-08 09:54:47.000000000 -0500
+++ linux-2.6-lttng.mm/arch/parisc/Kconfig 2007-12-08 09:57:56.000000000 -0500
@@ -7,6 +7,7 @@ mainmenu "Linux/PA-RISC Kernel Configura
config PARISC
def_bool y
+ select HAVE_OPROFILE
help
The PA-RISC microprocessor is designed by Hewlett-Packard and used
in many of their workstations & servers (HP9000 700 and 800 series,
Index: linux-2.6-lttng.mm/arch/powerpc/Kconfig
===================================================================
--- linux-2.6-lttng.mm.orig/arch/powerpc/Kconfig 2007-12-08 09:53:56.000000000 -0500
+++ linux-2.6-lttng.mm/arch/powerpc/Kconfig 2007-12-08 09:57:56.000000000 -0500
@@ -79,6 +79,7 @@ config ARCH_NO_VIRT_TO_BUS
config PPC
bool
default y
+ select HAVE_OPROFILE
config EARLY_PRINTK
bool
Index: linux-2.6-lttng.mm/arch/ppc/Kconfig
===================================================================
--- linux-2.6-lttng.mm.orig/arch/ppc/Kconfig 2007-12-08 09:22:46.000000000 -0500
+++ linux-2.6-lttng.mm/arch/ppc/Kconfig 2007-12-08 09:57:56.000000000 -0500
@@ -42,6 +42,7 @@ config GENERIC_CALIBRATE_DELAY
config PPC
bool
default y
+ select HAVE_OPROFILE
config PPC32
bool
Index: linux-2.6-lttng.mm/arch/s390/Kconfig
===================================================================
--- linux-2.6-lttng.mm.orig/arch/s390/Kconfig 2007-12-08 09:22:46.000000000 -0500
+++ linux-2.6-lttng.mm/arch/s390/Kconfig 2007-12-08 09:57:56.000000000 -0500
@@ -51,6 +51,7 @@ mainmenu "Linux Kernel Configuration"
config S390
def_bool y
+ select HAVE_OPROFILE
source "init/Kconfig"
Index: linux-2.6-lttng.mm/arch/sh/Kconfig
===================================================================
--- linux-2.6-lttng.mm.orig/arch/sh/Kconfig 2007-12-08 09:54:47.000000000 -0500
+++ linux-2.6-lttng.mm/arch/sh/Kconfig 2007-12-08 09:57:56.000000000 -0500
@@ -8,6 +8,7 @@ mainmenu "Linux/SuperH Kernel Configurat
config SUPERH
def_bool y
select EMBEDDED
+ select HAVE_OPROFILE
help
The SuperH is a RISC processor targeted for use in embedded systems
and consumer electronics; it was also used in the Sega Dreamcast
Index: linux-2.6-lttng.mm/arch/sparc/Kconfig
===================================================================
--- linux-2.6-lttng.mm.orig/arch/sparc/Kconfig 2007-12-08 09:54:47.000000000 -0500
+++ linux-2.6-lttng.mm/arch/sparc/Kconfig 2007-12-08 09:57:56.000000000 -0500
@@ -66,6 +66,7 @@ config NR_CPUS
config SPARC
bool
default y
+ select HAVE_OPROFILE
# Identify this as a Sparc32 build
config SPARC32
Index: linux-2.6-lttng.mm/arch/sparc64/Kconfig
===================================================================
--- linux-2.6-lttng.mm.orig/arch/sparc64/Kconfig 2007-12-08 09:54:47.000000000 -0500
+++ linux-2.6-lttng.mm/arch/sparc64/Kconfig 2007-12-08 09:57:56.000000000 -0500
@@ -8,6 +8,7 @@ mainmenu "Linux/UltraSPARC Kernel Config
config SPARC
bool
default y
+ select HAVE_OPROFILE
config SPARC64
bool
Index: linux-2.6-lttng.mm/arch/x86/Kconfig
===================================================================
--- linux-2.6-lttng.mm.orig/arch/x86/Kconfig 2007-12-08 09:54:47.000000000 -0500
+++ linux-2.6-lttng.mm/arch/x86/Kconfig 2007-12-08 10:03:12.000000000 -0500
@@ -18,6 +18,7 @@ config X86_64
### Arch settings
config X86
def_bool y
+ select HAVE_OPROFILE
config GENERIC_TIME
def_bool y
Index: linux-2.6-lttng.mm/arch/avr32/Kconfig
===================================================================
--- linux-2.6-lttng.mm.orig/arch/avr32/Kconfig 2007-12-08 09:54:15.000000000 -0500
+++ linux-2.6-lttng.mm/arch/avr32/Kconfig 2007-12-08 09:57:56.000000000 -0500
@@ -10,6 +10,7 @@ config AVR32
# With EMBEDDED=n, we get lots of stuff automatically selected
# that we usually don't need on AVR32.
select EMBEDDED
+ select HAVE_OPROFILE
help
AVR32 is a high-performance 32-bit RISC microprocessor core,
designed for cost-sensitive embedded applications, with particular
--
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-12-08 15:41 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
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 1/4] Create arch/Kconfig Mathieu Desnoyers
2007-12-08 15:32 ` Mathieu Desnoyers [this message]
2007-12-12 5:33 ` [patch 2/4] Add HAVE_OPROFILE Andrew Morton
2007-12-08 15:32 ` [patch 3/4] Add HAVE_KPROBES Mathieu Desnoyers
2007-12-08 15:32 ` [patch 4/4] Move Kconfig.instrumentation to arch/Kconfig and init/Kconfig Mathieu Desnoyers
2007-12-12 5:37 ` Andrew Morton
2007-12-10 8:57 ` [patch 0/4] Instrumentation menu removal, against 2.6.24-rc4-mm1 (mmotm) Ananth N Mavinakayanahalli
2007-12-10 9:43 ` Ananth N Mavinakayanahalli
2007-12-10 14:58 ` Mathieu Desnoyers
-- strict thread matches above, loose matches on Subject: below --
2007-12-04 17:43 [patch 0/4] Instrumentation menu removal Mathieu Desnoyers
2007-12-04 17:44 ` [patch 2/4] Add HAVE_OPROFILE Mathieu Desnoyers
2007-11-16 3:30 [patch 0/4] Instrumentation menu removal (HAVE_* form) Mathieu Desnoyers
2007-11-16 3:30 ` [patch 2/4] Add HAVE_OPROFILE Mathieu Desnoyers
2007-11-16 23:10 ` Andrew Morton
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=20071208153934.290075585@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.