Re: [PATCH] fs-writeback: Flush plug before next iteration in wb_writeback()

From: Christoph Hellwig
Date: Fri Apr 15 2022 - 02:39:33 EST


On Fri, Apr 15, 2022 at 09:37:35AM +0800, Zhihao Cheng wrote:
> + if (progress) {
> + /*
> + * The progress may be false postive in page redirty
> + * case (which is caused by failing to get buffer head
> + * lock), which will requeue dirty inodes and start
> + * next writeback iteration, and other tasks maybe
> + * stuck for getting tags for new requests. So, flush
> + * plug to schedule requests holding tags.
> + *
> + * The code can be removed after buffer head
> + * disappering from linux.
> + */
> + blk_flush_plug(current->plug, false);

This basically removes plugging entirely, so we might as well stop
adding the plug if we can't solve it any other way. But it seems
like that fake progress needs to be fixed instead.