On Tue 17-12-13 07:29:26, Tejun Heo wrote: > 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. Yeah, please remove it. It made me think that idr_remove cannot be pulled to later and that's why I ruled out css based solution from the beginning. -- Michal Hocko SUSE Labs -- To unsubscribe from this list: send the line "unsubscribe cgroups" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html