Messages in this thread | | | Date | Fri, 17 Feb 2012 17:51:26 -0500 | From | Vivek Goyal <> | Subject | Re: [PATCH 7/9] block: implement bio_associate_current() |
| |
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
| |