diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2008-02-26 07:49:15 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2008-02-26 07:49:15 -0800 |
commit | 3fca96eed1cc9fb524aec536bba8ae921563f1bb (patch) | |
tree | 474cdcc572b3433f01f221ea8857414bde53b7a2 | |
parent | 98c1fc934c097d84dc30c639e9bdb0b992ef53e2 (diff) | |
parent | 1481197b50114d7212d659d41cb97f31a8934883 (diff) |
Merge branch 'v2.6.25-rc3-lockdep' of git://git.kernel.org/pub/scm/linux/kernel/git/peterz/linux-2.6-lockdep
* 'v2.6.25-rc3-lockdep' of git://git.kernel.org/pub/scm/linux/kernel/git/peterz/linux-2.6-lockdep:
Subject: lockdep: include all lock classes in all_lock_classes
lockdep: increase MAX_LOCK_DEPTH
-rw-r--r-- | include/linux/sched.h | 2 | ||||
-rw-r--r-- | kernel/lockdep.c | 8 |
2 files changed, 5 insertions, 5 deletions
diff --git a/include/linux/sched.h b/include/linux/sched.h index 9c17e828d6d..2c9621f8bf8 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -1190,7 +1190,7 @@ struct task_struct { int softirq_context; #endif #ifdef CONFIG_LOCKDEP -# define MAX_LOCK_DEPTH 30UL +# define MAX_LOCK_DEPTH 48UL u64 curr_chain_key; int lockdep_depth; struct held_lock held_locks[MAX_LOCK_DEPTH]; diff --git a/kernel/lockdep.c b/kernel/lockdep.c index 3574379f4d6..81a4e4a3f08 100644 --- a/kernel/lockdep.c +++ b/kernel/lockdep.c @@ -779,6 +779,10 @@ register_lock_class(struct lockdep_map *lock, unsigned int subclass, int force) * parallel walking of the hash-list safe: */ list_add_tail_rcu(&class->hash_entry, hash_head); + /* + * Add it to the global list of classes: + */ + list_add_tail_rcu(&class->lock_entry, &all_lock_classes); if (verbose(class)) { graph_unlock(); @@ -2282,10 +2286,6 @@ static int mark_lock(struct task_struct *curr, struct held_lock *this, return 0; break; case LOCK_USED: - /* - * Add it to the global list of classes: - */ - list_add_tail_rcu(&this->class->lock_entry, &all_lock_classes); debug_atomic_dec(&nr_unused_locks); break; default: |