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
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
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|
3 matches
Mail list logo