On Fri, May 28, 2021 at 02:26:31PM +0200, Jan Kara wrote: > On Fri 28-05-21 11:20:55, Ming Lei wrote: > > Commit 6e6fcbc27e77 ("blk-mq: support batching dispatch in case of io") > > starts to support io batching submission by using hctx->dispatch_busy. > > > > However, blk_mq_update_dispatch_busy() isn't changed to update hctx->dispatch_busy > > in that commit, so fix the issue by updating hctx->dispatch_busy in case > > of real scheduler. > > > > Reported-by: Jan Kara <jack@xxxxxxx> > > Fixes: 6e6fcbc27e77 ("blk-mq: support batching dispatch in case of io") > > Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxx> > > --- > > block/blk-mq.c | 3 --- > > 1 file changed, 3 deletions(-) > > Looks good to me. You can add: > > Reviewed-by: Jan Kara <jack@xxxxxxx> > > BTW: Do you plan to submit also your improvement to > __blk_mq_do_dispatch_sched() to update dispatch_busy during the fetching > requests from the scheduler to avoid draining all requests from the IO > scheduler? I understand that kind of change isn't needed. When more requests are dequeued, hctx->dispatch_busy will be updated, then __blk_mq_do_dispatch_sched() won't dequeue at batch any more if either .queue_rq() returns STS_RESOURCE or running out of driver tag/budget. Or do you still see related issues after this patch is applied? Thanks, Ming