Re: [PATCH] blk-thrttole: Do not use kblockd workqueue for throtlwork

From: Tejun Heo
Date: Mon Feb 28 2011 - 10:56:39 EST


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@xxxxxxxxxx
> Reported-by: Dominik Klein <dk@xxxxxxxxxxxxxxxx>
> Signed-off-by: Vivek Goyal <vgoyal@xxxxxxxxxx>

Acked-by: Tejun Heo <tj@xxxxxxxxxx>

Thanks.

--
tejun
--
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/