Messages in this thread | | | Date | Tue, 20 Mar 2012 11:51:18 -0400 | From | Vivek Goyal <> | Subject | Re: [PATCHSET] block: remove ioc_*_changed() |
| |
On Mon, Mar 19, 2012 at 03:10:55PM -0700, Tejun Heo wrote: > Hello, guys. > > The changed notification used by cfq is rather odd. cfq caches the > associated cfqqs per cic and uses the changed notification to expire > those lookup caches. > > The explicit notification mechanism might make sense if determining > whether the current cache is up-to-date is difficult or expensive; > however, that isn't the case here. Determining whether ioprio or > cgroup has changed is straight-forward and inexpensive. > > This patchset updates cfq to so that it remembers the current ioprio > and blkcg in the cic and determines whether cfqq's need to be reset > without using the changed notification and drops the changed > notification code.
Hi Tejun,
So this patch still breaks cic->cfqq association in asynchronous manner, when new request comes in. So it will still not solve the problem I reported where after doing IO a task changes cgroup and tries to delete the old cgroup and hangs forever as cic->cfqq is still holding a reference to cgroup?
Thanks Vivek
| |