Messages in this thread | | | Date | Mon, 28 Feb 2011 16:56:12 +0100 | From | Tejun Heo <> | Subject | Re: [PATCH] blk-thrttole: Do not use kblockd workqueue for throtl work |
| |
On Mon, Feb 28, 2011 at 10:51:45AM -0500, Vivek Goyal wrote: > o Dominik Klein reported a system hang issue while doing some blkio throttling > testing. > > https://lkml.org/lkml/2011/2/24/173 > > o Some tracing revealed that CFQ was not dispatching any more jobs as queue > unplug was not happening. And queue unplug was not happening because unplug > work was not being called as there was one throttling work on same cpu > which as not finished yet. And throttling work had not finished as it > was tyring to dispatch a bio to CFQ but all the request descriptors were > consume to it was put to sleep. > > o So basically it is a cyclic dependecny between CFQ unplug work and throtl > dispatch work. Tejun suggested that use separate workqueue for such cases. > > o This patch uses a separate workqueue for throttle related work and does not > rely on kblockd workqueue anymore. > > Cc: stable@kernel.org > Reported-by: Dominik Klein <dk@in-telegence.net> > Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
Acked-by: Tejun Heo <tj@kernel.org>
Thanks.
-- tejun
| |