[lkml]   [2012]   [Mar]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [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?


 \ /
  Last update: 2012-03-20 16:53    [W:0.043 / U:0.632 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site