[PATCH] cgroup: use read lock to guard find_existing_css_set()

Li Zefan lizf at cn.fujitsu.com
Wed Apr 23 18:00:52 PDT 2008


Balbir Singh wrote:
> Li Zefan wrote:
>> 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 at cn.fujitsu.com>
>> ---
>>  kernel/cgroup.c |    4 ++--
>>  1 files changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/kernel/cgroup.c b/kernel/cgroup.c
>> index 2727f92..e9eb5da 100644
>> --- a/kernel/cgroup.c
>> +++ b/kernel/cgroup.c
>> @@ -406,11 +406,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;
> 
> Looks good to me. Did you run lockdep?
> 

No, I found this when reading the code, but I do have done some test.


More information about the Containers mailing list