On 2019-09-19 11:45, Hannes Reinecke wrote: > Hi all, > > Damien pointed out that there are some areas in the blk-mq I/O > scheduling algorithm which have a distinct legacy feel to it, > and prohibit multiqueue I/O schedulers from working properly. > These two patches should clear up this situation, but as it's > not quite clear what the original intention of the code was > I'll be posting them as an RFC. > > So as usual, comments and reviews are welcome. > > Hannes Reinecke (2): > blk-mq: fixup request re-insert in blk_mq_try_issue_list_directly() > blk-mq: always call into the scheduler in blk_mq_make_request() > > block/blk-mq.c | 9 ++------- > 1 file changed, 2 insertions(+), 7 deletions(-) > I tested this patch set in qemu and confirmed that write locking for ZBD now works again. The bypass of the scheduler(in case (q->nr_hw_queues > 1 && is_sync) is the culprit, and with this removed, we're good again for zoned block devices. Cheers, Hans