Messages in this thread | | | Date | Tue, 17 Dec 2013 07:29:26 -0500 | From | Tejun Heo <> | Subject | Re: 3.13-rc breaks MEMCG_SWAP |
| |
Hello, Li.
On Tue, Dec 17, 2013 at 11:13:39AM +0800, Li Zefan wrote: > diff --git a/kernel/cgroup.c b/kernel/cgroup.c > index c36d906..769b5bb 100644 > --- a/kernel/cgroup.c > +++ b/kernel/cgroup.c > @@ -868,6 +868,15 @@ static void cgroup_diput(struct dentry *dentry, struct inode *inode) > struct cgroup *cgrp = dentry->d_fsdata; > > BUG_ON(!(cgroup_is_dead(cgrp))); > + > + /* > + * We should remove the cgroup object from idr before its > + * grace period starts, so we won't be looking up a cgroup > + * while the cgroup is being freed. > + */
Let's remove this comment and instead comment that this is to be made per-css. I mixed up the lifetime rules of the cgroup and css and thought css_from_id() should fail once css is confirmed to be offline, so the above comment. It looks like we'll eventually have to move cgrp->id to css->id (just simple per-ss idr) as the two objects' lifetime rules will be completely separate. Other than that, looks good to me.
Thanks.
-- tejun
| |