Thread (1 message) 1 message, 1 author, 2010-05-04

[PATCH 2/2] lockdep: allow user to disable CONFIG_TRACE_IRQFLAGS

From: tom.leiming@gmail.com (Ming Lei)
Date: 2010-05-04 16:07:00
Also in: lkml

CC: ARM

2010/5/5  [off-list ref]:
quoted hunk
From: Ming Lei <tom.leiming@gmail.com>

There is still the lost irq-on tracing issue on ARM,
(see http://marc.info/?l=linux-arm-kernel&m=126047420005553&w=2)
which may disable lockdep after kernel boot, seems no
good solution for the issue up to now.

The patch exports the config option of CONFIG_TRACE_IRQFLAGS
and allows user to disable it for support of checking circular
dead lock only if irq flags tracing can't work correctly always.

Signed-off-by: Ming Lei <tom.leiming@gmail.com>
---
?lib/Kconfig.debug ? ? ?| ? ?3 +++
?lib/locking-selftest.c | ? ?2 ++
?2 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index 935248b..448f18f 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -550,11 +550,14 @@ config DEBUG_LOCKDEP
? ? ? ? ?of more runtime overhead.

?config TRACE_IRQFLAGS
+ ? ? ? bool "Lock prove: IRQ flags tracing"
? ? ? ?depends on DEBUG_KERNEL
? ? ? ?bool
? ? ? ?default y
? ? ? ?depends on TRACE_IRQFLAGS_SUPPORT
? ? ? ?depends on PROVE_LOCKING
+ ? ? ? help
+ ? ? ? ? If you say Y here, IRQ flags will be traced to prove locking.

?config DEBUG_SPINLOCK_SLEEP
? ? ? ?bool "Spinlock debugging: sleep-inside-spinlock checking"
diff --git a/lib/locking-selftest.c b/lib/locking-selftest.c
index 619313e..d9e5bfe 100644
--- a/lib/locking-selftest.c
+++ b/lib/locking-selftest.c
@@ -1176,6 +1176,7 @@ void locking_selftest(void)
? ? ? ?printk(" ?--------------------------------------------------------------------------\n");

+#ifdef CONFIG_TRACE_IRQFLAGS
? ? ? ?/*
? ? ? ? * irq-context testcases:
? ? ? ? */
@@ -1188,6 +1189,7 @@ void locking_selftest(void)
? ? ? ?DO_TESTCASE_6x2("irq read-recursion", irq_read_recursion);
?// ? ? DO_TESTCASE_6x2B("irq read-recursion #2", irq_read_recursion2);
+#endif

? ? ? ?if (unexpected_testcase_failures) {
? ? ? ? ? ? ? ?printk("-----------------------------------------------------------------\n");
--
1.6.2.5


-- 
Lei Ming
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help