aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLi Zefan <lizf@cn.fujitsu.com>2008-07-25 04:46:54 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2008-07-25 13:53:35 -0400
commit7e9abd89cbdf9b73d327d8173343abce9022609b (patch)
tree7e738e46ba5e384fc6bc984196ed2d09a0ea8102
parent9d96d82da437ed5f2053821779ed5d7797ed1f81 (diff)
cgroup: use read lock to guard find_existing_css_set()
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>
-rw-r--r--kernel/cgroup.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/kernel/cgroup.c b/kernel/cgroup.c
index 15ac0e1e4f4d..f50edadfdd86 100644
--- a/kernel/cgroup.c
+++ b/kernel/cgroup.c
@@ -415,11 +415,11 @@ static struct css_set *find_css_set(
415 415
416 /* First see if we already have a cgroup group that matches 416 /* First see if we already have a cgroup group that matches
417 * the desired set */ 417 * the desired set */
418 write_lock(&css_set_lock); 418 read_lock(&css_set_lock);
419 res = find_existing_css_set(oldcg, cgrp, template); 419 res = find_existing_css_set(oldcg, cgrp, template);
420 if (res) 420 if (res)
421 get_css_set(res); 421 get_css_set(res);
422 write_unlock(&css_set_lock); 422 read_unlock(&css_set_lock);
423 423
424 if (res) 424 if (res)
425 return res; 425 return res;