On 2019/09/19 19:48, Jens Axboe wrote: > On 9/19/19 3:45 AM, 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(-) > > Not quite sure what to do with this... Did you test them at all? Yes, Hans tested but on one device type only and the bug in patch 1 went undetected with the test case. Patch 2 does solve our specific problem which is that sync write were bypassing the elevator (mq-deadline), causing unaligned write errors with a multi-queue zoned device. > One is obviously broken and would crash the kernel, the other > is/was a performance optimization done not that long ago. > > Just going to ignore this series for now. Yes, please do. This was hacked quickly with Hannes yesterday and Hannes sent this as an RFC. We now got plenty of comments (thanks to all who provided feedback !) and will work on a proper patch series backed by more testing. Best regards. -- Damien Le Moal Western Digital Research