> > diff --git a/block/mq-deadline.c b/block/mq-deadline.c index > > 9d75374..bc413dd 100644 > > --- a/block/mq-deadline.c > > +++ b/block/mq-deadline.c > > @@ -385,6 +385,8 @@ static struct request *dd_dispatch_request(struct > > blk_mq_hw_ctx *hctx) > > > > spin_lock(&dd->lock); > > rq = __dd_dispatch_request(dd); > > + if (rq) > > + atomic_dec(&rq->mq_hctx->elevator_queued); > > Is there any reason why this operation could not be taken outside the > spinlock? I assume raciness is not a problem with this patch... No issue if we want to move this outside spinlock. > > > spin_unlock(&dd->lock); > > > > return rq; > > @@ -574,7 +576,6 @@ static void dd_finish_request(struct request *rq) > > blk_mq_sched_mark_restart_hctx(rq->mq_hctx); > > spin_unlock_irqrestore(&dd->zone_lock, flags); > > } > > - atomic_dec(&rq->mq_hctx->elevator_queued); > > } > > > > static bool dd_has_work(struct blk_mq_hw_ctx *hctx) > > -- > > 2.9.5 > > > > Kashyap > > .# > > > btw, can you provide signed-off-by if you want credit upgraded to Co- > developed-by? I will send you merged patch which you can push to your git repo. Kashyap > > Thanks, > john