Re: [PATCH 01/11] blkcg: let blkio_group point to blkio_cgroupdirectly

From: Tejun Heo
Date: Thu Feb 02 2012 - 15:33:55 EST


Hello,

On Thu, Feb 02, 2012 at 03:03:18PM -0500, Vivek Goyal wrote:
> > +static void blkiocg_destroy(struct cgroup_subsys *subsys, struct cgroup *cgroup)
> > +{
> > + struct blkio_cgroup *blkcg = cgroup_to_blkio_cgroup(cgroup);
> > +
> > if (blkcg != &blkio_root_cgroup)
> > kfree(blkcg);
>
> What makes sure that all the blkg are gone and they have dropped their
> reference to blkcg? IIUC, pre-destroy will just make sure to decouple
> blkg from request queue as well as blkcg list and also drop joint cgroup
> and request queue reference.
>
> But there could well be some IO queued in the group which might have
> its own reference and will be dropped later when IO completes. So at
> the time of blkiocg_destroy() it is not guranteed that there are
> no reference holders to blkcg?

Yeah, and that would wait till all css refs held by blkgs are gone,
right?

--
tejun
--
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/