On Mon, 31 Jan 2022 15:33:37 -0500, David Jeffery wrote: > When blk_mq_delay_run_hw_queues sets an hctx to run in the future, it can > reset the delay length for an already pending delayed work run_work. This > creates a scenario where multiple hctx may have their queues set to run, > but if one runs first and finds nothing to do, it can reset the delay of > another hctx and stall the other hctx's ability to run requests. > > To avoid this I/O stall when an hctx's run_work is already pending, > leave it untouched to run at its current designated time rather than > extending its delay. The work will still run which keeps closed the race > calling blk_mq_delay_run_hw_queues is needed for while also avoiding the > I/O stall. > > [...] Applied, thanks! [1/1] blk-mq: avoid extending delays of active hctx from blk_mq_delay_run_hw_queues commit: 8f5fea65b06de1cc51d4fc23fb4d378d1abd6ed7 Best regards, -- Jens Axboe