cgroup: use read lock to guard find_existing_css_set()
authorLi Zefan <lizf@cn.fujitsu.com>
Fri, 25 Jul 2008 08:46:54 +0000 (01:46 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 25 Jul 2008 17:53:35 +0000 (10:53 -0700)
The function does not modify anything (except the temporary css template), so
it's sufficient to hold read lock.

Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
Acked-by: Paul Menage <menage@google.com>
Cc: Balbir Singh <balbir@linux.vnet.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
kernel/cgroup.c

index 15ac0e1e4f4de9dde14a6fe17e9b3d6e059a4baf..f50edadfdd86b0f9fbc680d00c70a017970f3d34 100644 (file)
@@ -415,11 +415,11 @@ static struct css_set *find_css_set(
 
        /* First see if we already have a cgroup group that matches
         * the desired set */
-       write_lock(&css_set_lock);
+       read_lock(&css_set_lock);
        res = find_existing_css_set(oldcg, cgrp, template);
        if (res)
                get_css_set(res);
-       write_unlock(&css_set_lock);
+       read_unlock(&css_set_lock);
 
        if (res)
                return res;