* [PATCH] cgroup: use read lock to guard find_existing_css_set()
@ 2008-04-23 3:04 Li Zefan
2008-04-23 6:48 ` Paul Menage
2008-04-23 6:48 ` Balbir Singh
0 siblings, 2 replies; 4+ messages in thread
From: Li Zefan @ 2008-04-23 3:04 UTC (permalink / raw)
To: Andrew Morton; +Cc: Paul Menage, LKML, Linux Containers
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
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] cgroup: use read lock to guard find_existing_css_set()
2008-04-23 3:04 [PATCH] cgroup: use read lock to guard find_existing_css_set() Li Zefan
@ 2008-04-23 6:48 ` Paul Menage
2008-04-23 6:48 ` Balbir Singh
1 sibling, 0 replies; 4+ messages in thread
From: Paul Menage @ 2008-04-23 6:48 UTC (permalink / raw)
To: Li Zefan; +Cc: Andrew Morton, LKML, Linux Containers
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
>
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] cgroup: use read lock to guard find_existing_css_set()
2008-04-23 3:04 [PATCH] cgroup: use read lock to guard find_existing_css_set() Li Zefan
2008-04-23 6:48 ` Paul Menage
@ 2008-04-23 6:48 ` Balbir Singh
2008-04-24 1:00 ` Li Zefan
1 sibling, 1 reply; 4+ messages in thread
From: Balbir Singh @ 2008-04-23 6:48 UTC (permalink / raw)
To: Li Zefan; +Cc: Andrew Morton, Linux Containers, Paul Menage, LKML
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
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] cgroup: use read lock to guard find_existing_css_set()
2008-04-23 6:48 ` Balbir Singh
@ 2008-04-24 1:00 ` Li Zefan
0 siblings, 0 replies; 4+ messages in thread
From: Li Zefan @ 2008-04-24 1:00 UTC (permalink / raw)
To: balbir; +Cc: Andrew Morton, Linux Containers, Paul Menage, LKML
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.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2008-04-24 1:02 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-04-23 3:04 [PATCH] cgroup: use read lock to guard find_existing_css_set() Li Zefan
2008-04-23 6:48 ` Paul Menage
2008-04-23 6:48 ` Balbir Singh
2008-04-24 1:00 ` Li Zefan
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox