From: Ingo Molnar <mingo@elte.hu>
To: Andrew Morton <akpm@osdl.org>
Cc: linux-kernel@vger.kernel.org
Subject: [patch, -rc5-mm1] lock validator, irqtrace: support non-x86 architectures
Date: Tue, 30 May 2006 12:09:22 +0200 [thread overview]
Message-ID: <20060530100922.GB31982@elte.hu> (raw)
In-Reply-To: <20060530022925.8a67b613.akpm@osdl.org>
Subject: lock validator, irqtrace: support non-x86 architectures
From: Ingo Molnar <mingo@elte.hu>
add TRACE_IRQFLAGS_SUPPORT method for architectures to signal
whether they have irq-flags tracing infrastructure.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
---
arch/i386/Kconfig.debug | 4 ++++
arch/x86_64/Kconfig.debug | 4 ++++
include/linux/trace_irqflags.h | 30 +++++++++++++++---------------
lib/Kconfig.debug | 3 +++
4 files changed, 26 insertions(+), 15 deletions(-)
Index: linux/arch/i386/Kconfig.debug
===================================================================
--- linux.orig/arch/i386/Kconfig.debug
+++ linux/arch/i386/Kconfig.debug
@@ -1,5 +1,9 @@
menu "Kernel hacking"
+config TRACE_IRQFLAGS_SUPPORT
+ bool
+ default y
+
source "lib/Kconfig.debug"
config EARLY_PRINTK
Index: linux/arch/x86_64/Kconfig.debug
===================================================================
--- linux.orig/arch/x86_64/Kconfig.debug
+++ linux/arch/x86_64/Kconfig.debug
@@ -1,5 +1,9 @@
menu "Kernel hacking"
+config TRACE_IRQFLAGS_SUPPORT
+ bool
+ default y
+
source "lib/Kconfig.debug"
config DEBUG_RODATA
Index: linux/include/linux/trace_irqflags.h
===================================================================
--- linux.orig/include/linux/trace_irqflags.h
+++ linux/include/linux/trace_irqflags.h
@@ -11,12 +11,6 @@
#ifndef _LINUX_TRACE_IRQFLAGS_H
#define _LINUX_TRACE_IRQFLAGS_H
-#include <asm/irqflags.h>
-
-/*
- * The local_irq_*() APIs are equal to the raw_local_irq*()
- * if !TRACE_IRQFLAGS.
- */
#ifdef CONFIG_TRACE_IRQFLAGS
extern void trace_hardirqs_on(void);
extern void trace_hardirqs_off(void);
@@ -31,7 +25,6 @@
# define trace_softirq_enter() do { current->softirq_context++; } while (0)
# define trace_softirq_exit() do { current->softirq_context--; } while (0)
# define INIT_TRACE_IRQFLAGS .softirqs_enabled = 1,
-
#else
# define trace_hardirqs_on() do { } while (0)
# define trace_hardirqs_off() do { } while (0)
@@ -48,7 +41,10 @@
# define INIT_TRACE_IRQFLAGS
#endif
-#ifdef CONFIG_X86
+#ifdef CONFIG_TRACE_IRQFLAGS_SUPPORT
+
+#include <asm/irqflags.h>
+
#define local_irq_enable() \
do { trace_hardirqs_on(); raw_local_irq_enable(); } while (0)
#define local_irq_disable() \
@@ -66,12 +62,16 @@
raw_local_irq_restore(flags); \
} \
} while (0)
-#else
-#define raw_local_irq_disable() local_irq_disable()
-#define raw_local_irq_enable() local_irq_enable()
-#define raw_local_irq_save(flags) local_irq_save(flags)
-#define raw_local_irq_restore(flags) local_irq_restore(flags)
-#endif /* CONFIG_X86 */
+#else /* !CONFIG_TRACE_IRQFLAGS_SUPPORT */
+/*
+ * The local_irq_*() APIs are equal to the raw_local_irq*()
+ * if !TRACE_IRQFLAGS.
+ */
+# define raw_local_irq_disable() local_irq_disable()
+# define raw_local_irq_enable() local_irq_enable()
+# define raw_local_irq_save(flags) local_irq_save(flags)
+# define raw_local_irq_restore(flags) local_irq_restore(flags)
+#endif /* CONFIG_TRACE_IRQFLAGS_SUPPORT */
/*
* On lockdep we dont want to enable hardirqs in hardirq
@@ -86,7 +86,7 @@
# define local_irq_enable_in_hardirq() local_irq_enable()
#endif
-#ifdef CONFIG_X86
+#ifdef CONFIG_TRACE_IRQFLAGS_SUPPORT
#define safe_halt() \
do { \
trace_hardirqs_on(); \
Index: linux/lib/Kconfig.debug
===================================================================
--- linux.orig/lib/Kconfig.debug
+++ linux/lib/Kconfig.debug
@@ -123,6 +123,7 @@ config DEBUG_PREEMPT
bool "Debug preemptible kernel"
depends on DEBUG_KERNEL && PREEMPT
default y
+ depends on TRACE_IRQFLAGS_SUPPORT
help
If you say Y here then the kernel will use a debug variant of the
commonly used smp_processor_id() function and will print warnings
@@ -347,6 +348,7 @@ config DEBUG_LOCKDEP
bool "Lock dependency engine debugging"
depends on LOCKDEP
default y
+ depends on TRACE_IRQFLAGS_SUPPORT
help
If you say Y here, the lock dependency engine will do
additional runtime checks to debug itself, at the price
@@ -355,6 +357,7 @@ config DEBUG_LOCKDEP
config TRACE_IRQFLAGS
bool
default y
+ depends on TRACE_IRQFLAGS_SUPPORT
depends on PROVE_SPIN_LOCKING || PROVE_RW_LOCKING
config DEBUG_SPINLOCK_SLEEP
next prev parent reply other threads:[~2006-05-30 10:09 UTC|newest]
Thread overview: 116+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-05-30 9:29 2.6.17-rc5-mm1 Andrew Morton
2006-05-30 9:42 ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-30 10:05 ` [patch, -rc5-mm1] genirq: ia64 build fix Ingo Molnar
2006-05-30 10:09 ` Ingo Molnar [this message]
2006-05-30 10:11 ` [patch, -rc5-mm1] lock validator: rwsem build fix for non-x86 architectures Ingo Molnar
2006-05-30 10:12 ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-30 10:48 ` BUG: possible deadlock detected! (sound) [Was: 2.6.17-rc5-mm1] Jiri Slaby
2006-05-30 11:06 ` Arjan van de Ven
2006-05-30 12:44 ` Takashi Iwai
2006-05-30 12:59 ` Arjan van de Ven
2006-05-30 13:09 ` Jiri Slaby
2006-06-01 15:28 ` Jiri Slaby
2006-05-30 11:02 ` BUG: warning at ... (netlink) " Jiri Slaby
2006-05-30 11:55 ` [patch, -rc5-mm1] lock validator: remove softirq.c WARN_ON Ingo Molnar
2006-05-30 16:00 ` Alexey Kuznetsov
2006-05-30 16:05 ` Arjan van de Ven
2006-05-30 16:15 ` Alexey Kuznetsov
2006-05-30 11:11 ` [patch, -rc5-mm1] lock validator, fix NULL type->name bug Ingo Molnar
2006-05-30 11:58 ` Mike Galbraith
2006-05-30 12:02 ` Ingo Molnar
2006-05-30 12:06 ` Mike Galbraith
2006-05-30 12:05 ` Mike Galbraith
2006-05-30 12:06 ` Ingo Molnar
2006-05-30 12:17 ` Mike Galbraith
2006-05-30 12:19 ` Ingo Molnar
2006-05-30 12:28 ` Mike Galbraith
2006-05-30 12:29 ` [patch, -rc5-mm1] lock validator: disable NMI watchdog if CONFIG_LOCKDEP, i386 Ingo Molnar
2006-05-30 12:34 ` [patch, -rc5-mm1] lock validator: fix NMI-disabling on x86_64 Ingo Molnar
2006-05-30 12:44 ` [patch, -rc5-mm1] lock validator: disable NMI watchdog if CONFIG_LOCKDEP, i386 Mike Galbraith
2006-05-30 19:14 ` Andi Kleen
2006-05-30 19:47 ` Ingo Molnar
2006-05-30 20:05 ` Ingo Molnar
2006-05-30 19:54 ` Andrew Morton
2006-05-31 4:34 ` Keith Owens
2006-05-30 12:14 ` [patch, -rc5-mm1] lock validator, fix NULL type->name bug Arjan van de Ven
2006-05-30 12:46 ` 2.6.17-rc5-mm1 Michal Piotrowski
2006-05-30 19:13 ` 2.6.17-rc5-mm1 Arjan van de Ven
2006-05-30 15:59 ` 2.6.17-rc5-mm1 Michal Piotrowski
2006-05-30 16:08 ` 2.6.17-rc5-mm1 Arjan van de Ven
2006-05-30 18:51 ` 2.6.17-rc5-mm1 Michal Piotrowski
2006-05-30 16:16 ` 2.6.17-rc5-mm1 Michal Piotrowski
2006-05-30 19:28 ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-30 19:48 ` 2.6.17-rc5-mm1 Michal Piotrowski
2006-05-30 18:39 ` 2.6.17-rc5-mm1 Michal Piotrowski
2006-05-30 19:04 ` 2.6.17-rc5-mm1 Arjan van de Ven
2006-05-31 14:56 ` [patch 1/1] selinux: fix sb_lock/sb_security_lock nesting (Was: Re: 2.6.17-rc5-mm1) Stephen Smalley
2006-05-31 15:49 ` James Morris
2006-05-30 19:55 ` 2.6.17-rc5-mm1 Arjan van de Ven
2006-05-30 20:20 ` 2.6.17-rc5-mm1 Dave Jones
2006-05-30 20:32 ` 2.6.17-rc5-mm1 Arjan van de Ven
2006-05-30 18:55 ` 2.6.17-rc5-mm1 Michal Piotrowski
2006-05-30 19:45 ` 2.6.17-rc5-mm1 Andrew Morton
[not found] ` <6bffcb0e0605301157o6b7c5f66q3c9f151cbb4537d5@mail.gmail.com>
2006-05-30 19:42 ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-30 21:57 ` 2.6.17-rc5-mm1 Michal Piotrowski
2006-05-30 22:09 ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-30 22:18 ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-30 22:26 ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-30 22:29 ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-30 22:31 ` 2.6.17-rc5-mm1 Michal Piotrowski
2006-05-30 22:32 ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-31 10:56 ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-30 22:59 ` 2.6.17-rc5-mm1 Michal Piotrowski
2006-05-30 23:05 ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-30 23:06 ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-30 23:49 ` 2.6.17-rc5-mm1 Michal Piotrowski
2006-05-31 3:08 ` 2.6.17-rc5-mm1 Steven Rostedt
2006-05-30 19:59 ` Fwd: 2.6.17-rc5-mm1 Ingo Molnar
2006-05-31 13:51 ` 2.6.17-rc5-mm1 Michal Piotrowski
2006-05-31 14:02 ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-31 14:05 ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-31 14:12 ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-31 15:05 ` 2.6.17-rc5-mm1 Michal Piotrowski
2006-05-31 15:20 ` [patch, -rc5-mm1] lock validator: irqflags-trace entry.S fix Ingo Molnar
2006-05-30 19:43 ` 2.6.17-rc5-mm1 Roland Dreier
2006-05-30 20:26 ` [patch, -rc5-mm1] lock validator: fix RT_HASH_LOCK_SZ Ingo Molnar
2006-05-30 20:43 ` Roland Dreier
2006-05-30 20:49 ` Ingo Molnar
2006-05-30 20:58 ` Roland Dreier
2006-05-30 21:01 ` Arjan van de Ven
2006-05-30 21:03 ` Roland Dreier
2006-05-30 21:14 ` Roland Dreier
2006-05-30 21:55 ` [Patch -rc5-mm1] Lockdep annotate rpc_populate for child-relationship of its mutex Arjan van de Ven
2006-05-30 21:19 ` [combo patch] lock validator -V2 Ingo Molnar
2006-05-30 21:07 ` 2.6.17-rc5-mm1 Brice Goglin
2006-05-30 21:07 ` 2.6.17-rc5-mm1 Laurent Riffard
2006-05-30 21:24 ` 2.6.17-rc5-mm1 Arjan van de Ven
2006-05-30 21:43 ` 2.6.17-rc5-mm1 Mel Gorman
2006-05-30 21:24 ` 2.6.17-rc5-mm1 Roland Dreier
2006-05-30 22:45 ` 2.6.17-rc5-mm1 Andrew Morton
2006-05-30 22:49 ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-30 22:52 ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-30 22:58 ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-30 23:05 ` 2.6.17-rc5-mm1 Thomas Gleixner
2006-05-30 23:14 ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-30 23:32 ` 2.6.17-rc5-mm1 Roland Dreier
2006-05-30 23:15 ` 2.6.17-rc5-mm1 Benjamin Herrenschmidt
2006-05-30 23:53 ` 2.6.17-rc5-mm1 Greg KH
2006-05-30 23:53 ` 2.6.17-rc5-mm1 Michal Piotrowski
2006-05-31 3:17 ` 2.6.17-rc5-mm1 Steven Rostedt
2006-05-31 4:14 ` 2.6.17-rc5-mm1 Andrew Morton
2006-05-31 6:31 ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-31 11:50 ` 2.6.17-rc5-mm1 Steven Rostedt
2006-05-31 11:55 ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-31 6:39 ` 2.6.17-rc5-mm1 Arjan van de Ven
2006-05-31 16:48 ` 2.6.17-rc5-mm1 Jesse Brandeburg
2006-05-31 23:08 ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-31 17:39 ` 2.6.17-rc5-mm1 Laurent Riffard
2006-05-31 18:09 ` 2.6.17-rc5-mm1 Andrew Morton
2006-06-01 22:07 ` 2.6.17-rc5-mm1 Andrew Morton
2006-06-02 7:49 ` 2.6.17-rc5-mm1 Jan Beulich
2006-06-01 1:25 ` 2.6.17-rc5-mm1 Randy.Dunlap
2006-06-01 1:40 ` 2.6.17-rc5-mm1 Siddha, Suresh B
2006-06-01 2:17 ` 2.6.17-rc5-mm1 Randy.Dunlap
2006-06-01 1:43 ` 2.6.17-rc5-mm1 Andrew Morton
2006-06-01 6:14 ` 2.6.17-rc5-mm1 Ingo Molnar
2006-06-01 15:12 ` 2.6.17-rc5-mm1 Randy.Dunlap
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=20060530100922.GB31982@elte.hu \
--to=mingo@elte.hu \
--cc=akpm@osdl.org \
--cc=linux-kernel@vger.kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®