Message ID | b9d51f4bc9f0ff4ec3b8fb7fa6dc366afd69290e.1597637287.git.baolin.wang@linux.alibaba.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Some clean-ups for bio merge | expand |
On Mon, Aug 17, 2020 at 12:09:16PM +0800, Baolin Wang wrote: > Only software queue and kyber IO scheduler will call blk_mq_bio_list_merge() > to merge a bio, and kyber IO scheduler did not implement the ops->allow_merge(). Please line wrap your changelogs after 73 characters. > Thus we can remove the redundant blk_mq_sched_allow_merge() in > blk_mq_bio_list_merge() function. This seems potentially dangerous, and I don't think it really buys us much.
On Mon, Aug 17, 2020 at 08:22:24AM +0200, Christoph Hellwig wrote: > On Mon, Aug 17, 2020 at 12:09:16PM +0800, Baolin Wang wrote: > > Only software queue and kyber IO scheduler will call blk_mq_bio_list_merge() > > to merge a bio, and kyber IO scheduler did not implement the ops->allow_merge(). > > Please line wrap your changelogs after 73 characters. Sure. > > > Thus we can remove the redundant blk_mq_sched_allow_merge() in > > blk_mq_bio_list_merge() function. > > This seems potentially dangerous, and I don't think it really buys > us much. OK. I can remove this in next version.
diff --git a/block/blk-mq-sched.c b/block/blk-mq-sched.c index a19cdf1..bf62b34 100644 --- a/block/blk-mq-sched.c +++ b/block/blk-mq-sched.c @@ -403,14 +403,10 @@ bool blk_mq_bio_list_merge(struct request_queue *q, struct list_head *list, switch (blk_try_merge(rq, bio)) { case ELEVATOR_BACK_MERGE: - if (blk_mq_sched_allow_merge(q, rq, bio)) - merged = bio_attempt_back_merge(rq, bio, - nr_segs); + merged = bio_attempt_back_merge(rq, bio, nr_segs); break; case ELEVATOR_FRONT_MERGE: - if (blk_mq_sched_allow_merge(q, rq, bio)) - merged = bio_attempt_front_merge(rq, bio, - nr_segs); + merged = bio_attempt_front_merge(rq, bio, nr_segs); break; case ELEVATOR_DISCARD_MERGE: merged = bio_attempt_discard_merge(q, rq, bio);
Only software queue and kyber IO scheduler will call blk_mq_bio_list_merge() to merge a bio, and kyber IO scheduler did not implement the ops->allow_merge(). Thus we can remove the redundant blk_mq_sched_allow_merge() in blk_mq_bio_list_merge() function. Signed-off-by: Baolin Wang <baolin.wang@linux.alibaba.com> --- block/blk-mq-sched.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-)