Re: [PATCH tip/core/rcu 33/48] cgroups: __rcu annotations
From: Paul Menage
Date: Tue May 04 2010 - 16:48:19 EST
On Tue, May 4, 2010 at 1:19 PM, Paul E. McKenney
<paulmck@xxxxxxxxxxxxxxxxxx> wrote:
> From: Arnd Bergmann <arnd@xxxxxxxx>
>
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>
> Cc: Paul Menage <menage@xxxxxxxxxx>
> Cc: Li Zefan <lizf@xxxxxxxxxxxxxx>
Acked-by: Paul Menage <menage@xxxxxxxxxx>
> ---
> include/linux/cgroup.h | 4 ++--
> include/linux/sched.h | 2 +-
> kernel/cgroup.c | 2 +-
> 3 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/include/linux/cgroup.h b/include/linux/cgroup.h
> index 8f78073..b147fd5 100644
> --- a/include/linux/cgroup.h
> +++ b/include/linux/cgroup.h
> @@ -75,7 +75,7 @@ struct cgroup_subsys_state {
>
> unsigned long flags;
> /* ID for this css, if possible */
> - struct css_id *id;
> + struct css_id __rcu *id;
> };
>
> /* bits in struct cgroup_subsys_state flags field */
> @@ -205,7 +205,7 @@ struct cgroup {
> struct list_head children; /* my children */
>
> struct cgroup *parent; /* my parent */
> - struct dentry *dentry; /* cgroup fs entry, RCU protected */
> + struct dentry __rcu *dentry; /* cgroup fs entry, RCU protected */
>
> /* Private pointers for each registered subsystem */
> struct cgroup_subsys_state *subsys[CGROUP_SUBSYS_COUNT];
> diff --git a/include/linux/sched.h b/include/linux/sched.h
> index dad7f66..7307c74 100644
> --- a/include/linux/sched.h
> +++ b/include/linux/sched.h
> @@ -1429,7 +1429,7 @@ struct task_struct {
> #endif
> #ifdef CONFIG_CGROUPS
> /* Control Group info protected by css_set_lock */
> - struct css_set *cgroups;
> + struct css_set __rcu *cgroups;
> /* cg_list protected by css_set_lock and tsk->alloc_lock */
> struct list_head cg_list;
> #endif
> diff --git a/kernel/cgroup.c b/kernel/cgroup.c
> index 3a53c77..5cfbc93 100644
> --- a/kernel/cgroup.c
> +++ b/kernel/cgroup.c
> @@ -138,7 +138,7 @@ struct css_id {
> * is called after synchronize_rcu(). But for safe use, css_is_removed()
> * css_tryget() should be used for avoiding race.
> */
> - struct cgroup_subsys_state *css;
> + struct cgroup_subsys_state __rcu *css;
> /*
> * ID of this css.
> */
> --
> 1.7.0
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/