| From 026888d186defa1fe305dd47c30345a98f87058e Mon Sep 17 00:00:00 2001 |
| From: Steven Rostedt <rostedt@goodmis.org> |
| Date: Fri, 3 Jul 2009 08:44:07 -0500 |
| Subject: [PATCH] lockdep: RT recursion limit fix |
| |
| commit 3b1dbf9875d464a0d29c3deac45ae3018eee3f16 in tip. |
| |
| OK, I sent this out once before but it must have slipped under the radar. |
| http://lkml.org/lkml/2007/6/28/325 |
| |
| My config fails miserably with lockdep: |
| |
| kernel/lockdep.c: In function 'find_usage_forwards': |
| kernel/lockdep.c:814: error: 'RECURSION_LIMIT' undeclared (first use in |
| this function) |
| kernel/lockdep.c:814: error: (Each undeclared identifier is reported only |
| once |
| kernel/lockdep.c:814: error: for each function it appears in.) |
| kernel/lockdep.c:815: warning: implicit declaration of function |
| 'print_infinite_recursion_bug' |
| kernel/lockdep.c: In function 'find_usage_backwards': |
| kernel/lockdep.c:856: error: 'RECURSION_LIMIT' undeclared (first use in |
| this function) |
| make[1]: *** [kernel/lockdep.o] Error 1 |
| |
| But this patch fixes it nicely. |
| |
| Signed-off-by: Steven Rostedt <rostedt@goodmis.org> |
| Signed-off-by: Ingo Molnar <mingo@elte.hu> |
| Signed-off-by: Thomas Gleixner <tglx@linutronix.de> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/kernel/lockdep.c b/kernel/lockdep.c |
| index c62ec14..cf6db46 100644 |
| --- a/kernel/lockdep.c |
| +++ b/kernel/lockdep.c |
| @@ -1337,6 +1337,7 @@ print_shortest_lock_dependencies(struct lock_list *leaf, |
| return; |
| } |
| |
| +#ifdef CONFIG_PROVE_LOCKING |
| static int |
| print_bad_irq_dependency(struct task_struct *curr, |
| struct lock_list *prev_root, |
| @@ -1407,6 +1408,7 @@ print_bad_irq_dependency(struct task_struct *curr, |
| |
| return 0; |
| } |
| +#endif /* CONFIG_PROVE_LOCKING */ |
| |
| static int |
| check_usage(struct task_struct *curr, struct held_lock *prev, |
| -- |
| 1.7.1.1 |
| |