OpenVZ Forum


Home » Mailing lists » Devel » [PATCH] cgroup: use read lock to guard find_existing_css_set()
[PATCH] cgroup: use read lock to guard find_existing_css_set() [message #29720] Wed, 23 April 2008 03:04 Go to next message
Li Zefan is currently offline  Li Zefan
Messages: 90
Registered: February 2008
Member
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>
---
 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;
-- 1.5.4.rc3

_______________________________________________
Containers mailing list
Containers@lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/containers
Re: [PATCH] cgroup: use read lock to guard find_existing_css_set() [message #29722 is a reply to message #29720] Wed, 23 April 2008 06:48 Go to previous messageGo to next message
Paul Menage is currently offline  Paul Menage
Messages: 642
Registered: September 2006
Senior Member
On Tue, Apr 22, 2008 at 8:04 PM, Li Zefan <lizf@cn.fujitsu.com> 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@cn.fujitsu.com>

Acked-by: Paul Menage <menage@google.com>

Thanks.

>  ---
>   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;
>  -- 1.5.4.rc3
>
>
_______________________________________________
Containers mailing list
Containers@lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/containers
Re: [PATCH] cgroup: use read lock to guard find_existing_css_set() [message #29723 is a reply to message #29720] Wed, 23 April 2008 06:48 Go to previous messageGo to next message
Balbir Singh is currently offline  Balbir Singh
Messages: 491
Registered: August 2006
Senior Member
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@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?



-- 
	Warm Regards,
	Balbir Singh
	Linux Technology Center
	IBM, ISTL
_______________________________________________
Containers mailing list
Containers@lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/containers
Re: [PATCH] cgroup: use read lock to guard find_existing_css_set() [message #29747 is a reply to message #29723] Thu, 24 April 2008 01:00 Go to previous message
Li Zefan is currently offline  Li Zefan
Messages: 90
Registered: February 2008
Member
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@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.
_______________________________________________
Containers mailing list
Containers@lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/containers
Previous Topic: Re: [LTP] [PATCH 0/4] Helper patches for PTY namespaces
Next Topic: Re: [RFC PATCH 5/5] Add a Signal Control Group Subsystem
Goto Forum:
  


Current Time: Tue Jul 29 18:46:06 GMT 2025

Total time taken to generate the page: 0.08124 seconds