cgroup: use read lock to guard find_existing_css_set()
Li Zefan [Fri, 25 Jul 2008 08:46:54 +0000 (01:46 -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 15ac0e1..f50edad 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;