On 5/23/23 23:13, Christoph Hellwig wrote:
On Tue, May 23, 2023 at 12:34:38PM -0700, Bart Van Assche wrote:
What makes sequential writes here special vs other requests that are
supposed to be using the scheduler and not a bypass?
Hi Christoph,
If some REQ_OP_WRITE or REQ_OP_WRITE_ZEROES requests are submitted to the
I/O scheduler and others bypass the I/O scheduler this may lead to
reordering. Hence this patch that triggers a kernel warning if any
REQ_OP_WRITE or REQ_OP_WRITE_ZEROES requests bypass the I/O scheduler.
But why would we ever do a direct insert when using a scheduler for
write (an read for that matter) commands when not on a zoned device?
Patch 2/7 of this series removes a blk_mq_request_bypass_insert() call
from blk_mq_requeue_work(). I think this shows that without this patch
series blk_mq_request_bypass_insert() could get called for REQ_OP_WRITE
/ REQ_OP_WRITE_ZEROES requests.
Thanks,
Bart.