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.