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

From: Jens Axboe
Date: Mon Feb 28 2011 - 12:32:16 EST


On 2011-02-28 10:51, 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.

Not good, that's definitely a bug. I'll queue this up for 2.6.38.

--
Jens Axboe

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