aboutsummaryrefslogtreecommitdiffstats
path: root/mm/slub.c
diff options
context:
space:
mode:
authorNamhyung Kim <namhyung@gmail.com>2010-09-29 08:02:14 -0400
committerPekka Enberg <penberg@kernel.org>2010-10-02 03:47:53 -0400
commit3478973dedee5e957c45dc93c11d12dc3f733ee0 (patch)
treea90878879ef689df232b9ad9288b8b5052b78651 /mm/slub.c
parenta5dd5c117cbf620378d693963ffc42239297fac4 (diff)
slub: Add lock release annotation
The unfreeze_slab() releases page's PG_locked bit but was missing proper annotation. The deactivate_slab() needs to be marked also since it calls unfreeze_slab() without grabbing the lock. Acked-by: David Rientjes <rientjes@google.com> Signed-off-by: Namhyung Kim <namhyung@gmail.com> Signed-off-by: Pekka Enberg <penberg@kernel.org>
Diffstat (limited to 'mm/slub.c')
-rw-r--r--mm/slub.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/mm/slub.c b/mm/slub.c
index ac236b1ced16..118422e220f0 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -1446,6 +1446,7 @@ static struct page *get_partial(struct kmem_cache *s, gfp_t flags, int node)
1446 * On exit the slab lock will have been dropped. 1446 * On exit the slab lock will have been dropped.
1447 */ 1447 */
1448static void unfreeze_slab(struct kmem_cache *s, struct page *page, int tail) 1448static void unfreeze_slab(struct kmem_cache *s, struct page *page, int tail)
1449 __releases(bitlock)
1449{ 1450{
1450 struct kmem_cache_node *n = get_node(s, page_to_nid(page)); 1451 struct kmem_cache_node *n = get_node(s, page_to_nid(page));
1451 1452
@@ -1488,6 +1489,7 @@ static void unfreeze_slab(struct kmem_cache *s, struct page *page, int tail)
1488 * Remove the cpu slab 1489 * Remove the cpu slab
1489 */ 1490 */
1490static void deactivate_slab(struct kmem_cache *s, struct kmem_cache_cpu *c) 1491static void deactivate_slab(struct kmem_cache *s, struct kmem_cache_cpu *c)
1492 __releases(bitlock)
1491{ 1493{
1492 struct page *page = c->page; 1494 struct page *page = c->page;
1493 int tail = 1; 1495 int tail = 1;