summaryrefslogtreecommitdiffstats
path: root/kernel/lockdep.c
diff options
context:
space:
mode:
authorPeter Zijlstra <a.p.zijlstra@chello.nl>2009-01-22 14:51:01 +0100
committerIngo Molnar <mingo@elte.hu>2009-02-14 23:28:02 +0100
commitfabe9c42c6328de314d811887b4752eb3d202291 (patch)
tree7479a55d1f2b66f1a6ca4df5c09acefd3d99b2c8 /kernel/lockdep.c
parentd7b1b02134272840f4b655136e00c461e1cf1d53 (diff)
lockdep: generate usage strings
generate the usage strings XXX capital invasion :-( Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel/lockdep.c')
-rw-r--r--kernel/lockdep.c26
1 files changed, 13 insertions, 13 deletions
diff --git a/kernel/lockdep.c b/kernel/lockdep.c
index e68bd7d694b..d31f7f836a0 100644
--- a/kernel/lockdep.c
+++ b/kernel/lockdep.c
@@ -445,21 +445,21 @@ atomic_t nr_find_usage_backwards_recursions;
* Locking printouts:
*/
+#define __STR(foo) #foo
+#define STR(foo) __STR(foo)
+
+#define __USAGE(__STATE) \
+ [LOCK_USED_IN_##__STATE] = "IN-"STR(__STATE)"-W", \
+ [LOCK_ENABLED_##__STATE] = STR(__STATE)"-ON-W", \
+ [LOCK_USED_IN_##__STATE##_READ] = "IN-"STR(__STATE)"-R", \
+ [LOCK_ENABLED_##__STATE##_READ] = STR(__STATE)"-ON-R",
+
static const char *usage_str[] =
{
- [LOCK_USED] = "initial-use ",
- [LOCK_USED_IN_HARDIRQ] = "in-hardirq-W",
- [LOCK_USED_IN_SOFTIRQ] = "in-softirq-W",
- [LOCK_ENABLED_SOFTIRQ] = "softirq-on-W",
- [LOCK_ENABLED_HARDIRQ] = "hardirq-on-W",
- [LOCK_USED_IN_HARDIRQ_READ] = "in-hardirq-R",
- [LOCK_USED_IN_SOFTIRQ_READ] = "in-softirq-R",
- [LOCK_ENABLED_SOFTIRQ_READ] = "softirq-on-R",
- [LOCK_ENABLED_HARDIRQ_READ] = "hardirq-on-R",
- [LOCK_USED_IN_RECLAIM_FS] = "in-reclaim-W",
- [LOCK_USED_IN_RECLAIM_FS_READ] = "in-reclaim-R",
- [LOCK_ENABLED_RECLAIM_FS] = "ov-reclaim-W",
- [LOCK_ENABLED_RECLAIM_FS_READ] = "ov-reclaim-R",
+#define LOCKDEP_STATE(__STATE) __USAGE(__STATE)
+#include "lockdep_states.h"
+#undef LOCKDEP_STATE
+ [LOCK_USED] = "INITIAL USE",
};
const char * __get_key_name(struct lockdep_subclass_key *key, char *str)