Re: [PATCH 06/17] cgroup: remove duplicate RCU free on struct cgroup

2012-11-19 Thread Tejun Heo
Hello, Li. On Mon, Nov 19, 2012 at 05:02:42PM +0800, Li Zefan wrote: > On 2012/11/13 11:01, Tejun Heo wrote: > > struct cgroup is made RCU-safe by synchronize_rcu() in cgroup_diput(). > > but synchronize_rcu() is called before ss->destroy(). > > rcu_read_lock(); > for_each_leaf_cfs_rq(cpu_rq(cpu

Re: [PATCH 06/17] cgroup: remove duplicate RCU free on struct cgroup

2012-11-19 Thread Li Zefan
On 2012/11/13 11:01, Tejun Heo wrote: > struct cgroup is made RCU-safe by synchronize_rcu() in cgroup_diput(). but synchronize_rcu() is called before ss->destroy(). rcu_read_lock(); for_each_leaf_cfs_rq(cpu_rq(cpu), cfs_rq) print_cfs_rq(m, cpu, cfs_rq); -> call cgroup_path(task_gr

[PATCH 06/17] cgroup: remove duplicate RCU free on struct cgroup

2012-11-12 Thread Tejun Heo
struct cgroup is made RCU-safe by synchronize_rcu() in cgroup_diput(). There is no reason to use RCU safe kfree on it after it. Remove cgroup->rcu_head and use kfree() instead of kfree_rcu() in cgroup_diput(). Signed-off-by: Tejun Heo --- include/linux/cgroup.h | 3 --- kernel/cgroup.c|