[dm-devel] [PATCH V3 0/5] dm-rq: improve sequential I/O performance
Mike Snitzer
snitzer at redhat.com
Sat Jan 13 15:10:51 UTC 2018
On Sat, Jan 13 2018 at 10:04am -0500,
Ming Lei <ming.lei at redhat.com> wrote:
> On Fri, Jan 12, 2018 at 05:31:17PM -0500, Mike Snitzer wrote:
> >
> > Ming or Jens: might you be able to shed some light on how dm-mpath
> > would/could set BLK_MQ_S_SCHED_RESTART? A new function added that can
>
> When BLK_STS_RESOURCE is returned from .queue_rq(), blk_mq_dispatch_rq_list()
> will check if BLK_MQ_S_SCHED_RESTART is set.
>
> If it has been set, the queue won't be rerun for this request, and the queue
> will be rerun until one in-flight request is completed, see blk_mq_sched_restart()
> which is called from blk_mq_free_request().
>
> If BLK_MQ_S_SCHED_RESTART isn't set, queue is rerun in blk_mq_dispatch_rq_list(),
> and BLK_MQ_S_SCHED_RESTART is set before calling .queue_rq(), see
> blk_mq_sched_mark_restart_hctx() which is called in blk_mq_sched_dispatch_requests().
>
> This mechanism can avoid continuous running queue in case of STS_RESOURCE, that
> means drivers wouldn't worry about that by adding random delay.
Great, thanks for the overview. Really appreciate it.
Mike
More information about the dm-devel
mailing list