Re: [PATCH 7/9] block: implement bio_associate_current()

From: Vivek Goyal
Date: Fri Feb 17 2012 - 17:51:29 EST


On Fri, Feb 17, 2012 at 02:41:03PM -0800, Tejun Heo wrote:
> On Fri, Feb 17, 2012 at 05:34:20PM -0500, Vivek Goyal wrote:
> > Nope. We make note of task migration and drop cic->cfqq association
> > and establish a new association where new cfqq is part of new cgroup.
> > (ioc_cgroup_changed()).
>
> Yeah, that's the CHANGED bit thing. I probably got confused with
> blk-throttle losing blkcg while testing. Anyways, it would be great
> if we can either remove that altogether. e.g. compare the cached
> blkg->blkcg and see if it has changed from cfq. Or add a callback and
> do the shootdown synchronously at least.

I think dropping it lazily has advantage as once the cic->cfqq association
is set, we don't worry about cgroups at all.

Otherwise on every IO, we will end up comparing submitting tasks's
cgroup and cic/cfqq's cgroup.

Also this will create problems, if two threads sharing io context are
in two different cgroups. We will frequently end up changing the
association.

So comparing probably is not a very good idea. Doing something
synchronously might be better if you don't like CGROUP_CHANGED
bit in ioc.

Thanks
Vivek
--
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/