On Fri, Apr 23, 2010 at 10:35:52AM +0800, Li Zefan wrote:
> task_subsys_state() is safe under task_lock(). See
> Documentation/cgroups/cgroups.txt for locking rule.
> 
> This fixes an RCU warning when resume from suspend. The
> warning comes from freezer cgroup in cgroup_freezing_or_frozen().
> 
> Signed-off-by: Li Zefan <l...@cn.fujitsu.com>

Acked-by: Matt Helsley <matth...@us.ibm.com>

> ---
> 
> I'm not sure which is preferable - access ->alloc_lock directly
> like this patch or add task_lock_is_held() in sched.h
> 
> ---
>  include/linux/cgroup.h |    1 +
>  1 files changed, 1 insertions(+), 0 deletions(-)
> 
> diff --git a/include/linux/cgroup.h b/include/linux/cgroup.h
> index b8ad1ea..8f78073 100644
> --- a/include/linux/cgroup.h
> +++ b/include/linux/cgroup.h
> @@ -530,6 +530,7 @@ static inline struct cgroup_subsys_state 
> *task_subsys_state(
>  {
>       return rcu_dereference_check(task->cgroups->subsys[subsys_id],
>                                    rcu_read_lock_held() ||
> +                                  lockdep_is_held(&task->alloc_lock) ||
>                                    cgroup_lock_is_held());
>  }
> 
> -- 
> 1.6.3
_______________________________________________
Containers mailing list
contain...@lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/containers

_______________________________________________
Devel mailing list
Devel@openvz.org
https://openvz.org/mailman/listinfo/devel

Reply via email to