diff options
| author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2008-02-26 10:49:15 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2008-02-26 10:49:15 -0500 |
| 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 9c17e828d6d4..2c9621f8bf87 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h | |||
| @@ -1190,7 +1190,7 @@ struct task_struct { | |||
| 1190 | int softirq_context; | 1190 | int softirq_context; |
| 1191 | #endif | 1191 | #endif |
| 1192 | #ifdef CONFIG_LOCKDEP | 1192 | #ifdef CONFIG_LOCKDEP |
| 1193 | # define MAX_LOCK_DEPTH 30UL | 1193 | # define MAX_LOCK_DEPTH 48UL |
| 1194 | u64 curr_chain_key; | 1194 | u64 curr_chain_key; |
| 1195 | int lockdep_depth; | 1195 | int lockdep_depth; |
| 1196 | struct held_lock held_locks[MAX_LOCK_DEPTH]; | 1196 | struct held_lock held_locks[MAX_LOCK_DEPTH]; |
diff --git a/kernel/lockdep.c b/kernel/lockdep.c index 3574379f4d62..81a4e4a3f087 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) | |||
| 779 | * parallel walking of the hash-list safe: | 779 | * parallel walking of the hash-list safe: |
| 780 | */ | 780 | */ |
| 781 | list_add_tail_rcu(&class->hash_entry, hash_head); | 781 | list_add_tail_rcu(&class->hash_entry, hash_head); |
| 782 | /* | ||
| 783 | * Add it to the global list of classes: | ||
| 784 | */ | ||
| 785 | list_add_tail_rcu(&class->lock_entry, &all_lock_classes); | ||
| 782 | 786 | ||
| 783 | if (verbose(class)) { | 787 | if (verbose(class)) { |
| 784 | graph_unlock(); | 788 | graph_unlock(); |
| @@ -2282,10 +2286,6 @@ static int mark_lock(struct task_struct *curr, struct held_lock *this, | |||
| 2282 | return 0; | 2286 | return 0; |
| 2283 | break; | 2287 | break; |
| 2284 | case LOCK_USED: | 2288 | case LOCK_USED: |
| 2285 | /* | ||
| 2286 | * Add it to the global list of classes: | ||
| 2287 | */ | ||
| 2288 | list_add_tail_rcu(&this->class->lock_entry, &all_lock_classes); | ||
| 2289 | debug_atomic_dec(&nr_unused_locks); | 2289 | debug_atomic_dec(&nr_unused_locks); |
| 2290 | break; | 2290 | break; |
| 2291 | default: | 2291 | default: |
