On 5/23/23 17:31, Ming Lei wrote:
On Tue, May 23, 2023 at 10:19:34AM -0700, Bart Van Assche wrote:
The mq-deadline scheduler restricts the queue depth to one per zone for zoned
storage so at any time there is at most one write command (REQ_OP_WRITE) in
flight per zone.
But if the write queue depth is 1 per zone, the requeued request won't
be re-ordered at all given no other write request can be issued from
scheduler in this zone before this requeued request is completed.
So why bother to requeue the BLK_STS_RESOURCE request via scheduler?
Hi Ming,
It seems like my previous email was not clear enough. The mq-deadline
scheduler restricts the queue depth per zone for commands passed to the
SCSI core. It does not restrict how many requests a filesystem can
submit per zone to the block layer. Without this patch there is a risk
of reordering if a request is requeued, e.g. by the SCSI core, and other
requests are pending for the same zone.
Thanks,
Bart.