diff options
author | Heiko Carstens <heiko.carstens@de.ibm.com> | 2007-05-09 11:34:05 +0200 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-05-09 21:30:51 +0200 |
commit | 38c3bd96a0a7d375e12f173c34fbebf9f153cb56 (patch) | |
tree | 4c96cfe17f7578eb182471c8ad17653837abc219 | |
parent | call cpu_chain with CPU_DOWN_FAILED if CPU_DOWN_PREPARE failed (diff) | |
download | linux-38c3bd96a0a7d375e12f173c34fbebf9f153cb56.tar.xz linux-38c3bd96a0a7d375e12f173c34fbebf9f153cb56.zip |
slab: use CPU_LOCK_[ACQUIRE|RELEASE]
Looks like this was forgotten when CPU_LOCK_[ACQUIRE|RELEASE] was
introduced.
Cc: Pekka Enberg <penberg@cs.helsinki.fi>
Cc: Srivatsa Vaddagiri <vatsa@in.ibm.com>
Cc: Gautham Shenoy <ego@in.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Oleg Nesterov <oleg@tv-sign.ru>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | mm/slab.c | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/mm/slab.c b/mm/slab.c index 01262d26e192..cceb347a354e 100644 --- a/mm/slab.c +++ b/mm/slab.c @@ -1186,8 +1186,10 @@ static int __cpuinit cpuup_callback(struct notifier_block *nfb, int memsize = sizeof(struct kmem_list3); switch (action) { - case CPU_UP_PREPARE: + case CPU_LOCK_ACQUIRE: mutex_lock(&cache_chain_mutex); + break; + case CPU_UP_PREPARE: /* * We need to do this right in the beginning since * alloc_arraycache's are going to use this list. @@ -1274,16 +1276,9 @@ static int __cpuinit cpuup_callback(struct notifier_block *nfb, } break; case CPU_ONLINE: - mutex_unlock(&cache_chain_mutex); start_cpu_timer(cpu); break; #ifdef CONFIG_HOTPLUG_CPU - case CPU_DOWN_PREPARE: - mutex_lock(&cache_chain_mutex); - break; - case CPU_DOWN_FAILED: - mutex_unlock(&cache_chain_mutex); - break; case CPU_DEAD: /* * Even if all the cpus of a node are down, we don't free the @@ -1354,6 +1349,8 @@ free_array_cache: continue; drain_freelist(cachep, l3, l3->free_objects); } + break; + case CPU_LOCK_RELEASE: mutex_unlock(&cache_chain_mutex); break; } |