Message ID | 20190701154730.203795-3-bvanassche@acm.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Simplify blk-mq implementation | expand |
On Mon, Jul 01, 2019 at 08:47:30AM -0700, Bart Van Assche wrote: > Move the blk_mq_bio_to_request() call in front of the if-statement. Looks good: Reviewed-by: Christoph Hellwig <hch@lst.de>
On 19-07-01 08:47:30, Bart Van Assche wrote: > Move the blk_mq_bio_to_request() call in front of the if-statement. This looks good to me based on the first patch. Reviewed-by: Minwoo Im <minwoo.im.dev@gmail.com>
On Mon, Jul 01, 2019 at 08:47:30AM -0700, Bart Van Assche wrote: > Move the blk_mq_bio_to_request() call in front of the if-statement. > > Cc: Christoph Hellwig <hch@infradead.org> > Cc: Ming Lei <ming.lei@redhat.com> > Cc: Hannes Reinecke <hare@suse.com> > Cc: Omar Sandoval <osandov@fb.com> > Signed-off-by: Bart Van Assche <bvanassche@acm.org> > --- > block/blk-mq.c | 10 ++-------- > 1 file changed, 2 insertions(+), 8 deletions(-) > > diff --git a/block/blk-mq.c b/block/blk-mq.c > index 4d661545ad1d..0fa03f524541 100644 > --- a/block/blk-mq.c > +++ b/block/blk-mq.c > @@ -1975,10 +1975,10 @@ static blk_qc_t blk_mq_make_request(struct request_queue *q, struct bio *bio) > > cookie = request_to_qc_t(data.hctx, rq); > > + blk_mq_bio_to_request(rq, bio, nr_segs); > + > plug = current->plug; > if (unlikely(is_flush_fua)) { > - blk_mq_bio_to_request(rq, bio, nr_segs); > - > /* bypass scheduler for flush rq */ > blk_insert_flush(rq); > blk_mq_run_hw_queue(data.hctx, true); > @@ -1990,8 +1990,6 @@ static blk_qc_t blk_mq_make_request(struct request_queue *q, struct bio *bio) > unsigned int request_count = plug->rq_count; > struct request *last = NULL; > > - blk_mq_bio_to_request(rq, bio, nr_segs); > - > if (!request_count) > trace_block_plug(q); > else > @@ -2005,8 +2003,6 @@ static blk_qc_t blk_mq_make_request(struct request_queue *q, struct bio *bio) > > blk_add_rq_to_plug(plug, rq); > } else if (plug && !blk_queue_nomerges(q)) { > - blk_mq_bio_to_request(rq, bio, nr_segs); > - > /* > * We do limited plugging. If the bio can be merged, do that. > * Otherwise the existing request in the plug list will be > @@ -2031,10 +2027,8 @@ static blk_qc_t blk_mq_make_request(struct request_queue *q, struct bio *bio) > } > } else if ((q->nr_hw_queues > 1 && is_sync) || (!q->elevator && > !data.hctx->dispatch_busy)) { > - blk_mq_bio_to_request(rq, bio, nr_segs); > blk_mq_try_issue_directly(data.hctx, rq, &cookie); > } else { > - blk_mq_bio_to_request(rq, bio, nr_segs); > blk_mq_sched_insert_request(rq, false, true, true); > } > > -- > 2.22.0.410.gd8fdbe21b5-goog > Looks fine: Reviewed-by: Ming Lei <ming.lei@redhat.com> Thanks, Ming
diff --git a/block/blk-mq.c b/block/blk-mq.c index 4d661545ad1d..0fa03f524541 100644 --- a/block/blk-mq.c +++ b/block/blk-mq.c @@ -1975,10 +1975,10 @@ static blk_qc_t blk_mq_make_request(struct request_queue *q, struct bio *bio) cookie = request_to_qc_t(data.hctx, rq); + blk_mq_bio_to_request(rq, bio, nr_segs); + plug = current->plug; if (unlikely(is_flush_fua)) { - blk_mq_bio_to_request(rq, bio, nr_segs); - /* bypass scheduler for flush rq */ blk_insert_flush(rq); blk_mq_run_hw_queue(data.hctx, true); @@ -1990,8 +1990,6 @@ static blk_qc_t blk_mq_make_request(struct request_queue *q, struct bio *bio) unsigned int request_count = plug->rq_count; struct request *last = NULL; - blk_mq_bio_to_request(rq, bio, nr_segs); - if (!request_count) trace_block_plug(q); else @@ -2005,8 +2003,6 @@ static blk_qc_t blk_mq_make_request(struct request_queue *q, struct bio *bio) blk_add_rq_to_plug(plug, rq); } else if (plug && !blk_queue_nomerges(q)) { - blk_mq_bio_to_request(rq, bio, nr_segs); - /* * We do limited plugging. If the bio can be merged, do that. * Otherwise the existing request in the plug list will be @@ -2031,10 +2027,8 @@ static blk_qc_t blk_mq_make_request(struct request_queue *q, struct bio *bio) } } else if ((q->nr_hw_queues > 1 && is_sync) || (!q->elevator && !data.hctx->dispatch_busy)) { - blk_mq_bio_to_request(rq, bio, nr_segs); blk_mq_try_issue_directly(data.hctx, rq, &cookie); } else { - blk_mq_bio_to_request(rq, bio, nr_segs); blk_mq_sched_insert_request(rq, false, true, true); }
Move the blk_mq_bio_to_request() call in front of the if-statement. Cc: Christoph Hellwig <hch@infradead.org> Cc: Ming Lei <ming.lei@redhat.com> Cc: Hannes Reinecke <hare@suse.com> Cc: Omar Sandoval <osandov@fb.com> Signed-off-by: Bart Van Assche <bvanassche@acm.org> --- block/blk-mq.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-)