OSDN Git Service

block: don't call part_{inc,dec}_in_flight for blk-mq devices
authorChristoph Hellwig <hch@lst.de>
Wed, 13 May 2020 10:49:34 +0000 (12:49 +0200)
committerJens Axboe <axboe@kernel.dk>
Tue, 19 May 2020 15:35:24 +0000 (09:35 -0600)
part_inc_in_flight and part_dec_in_flight are no-ops for blk-mq queues,
so remove the calls in purely blk-mq callers.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/blk-core.c
block/blk-merge.c

index d8df56e..77e57c2 100644 (file)
@@ -1412,7 +1412,6 @@ void blk_account_io_done(struct request *req, u64 now)
                update_io_ticks(part, jiffies, true);
                part_stat_inc(part, ios[sgrp]);
                part_stat_add(part, nsecs[sgrp], now - req->start_time_ns);
-               part_dec_in_flight(req->q, part, rq_data_dir(req));
 
                hd_struct_put(part);
                part_stat_unlock();
@@ -1421,25 +1420,15 @@ void blk_account_io_done(struct request *req, u64 now)
 
 void blk_account_io_start(struct request *rq, bool new_io)
 {
-       struct hd_struct *part;
-       int rw = rq_data_dir(rq);
-
        if (!blk_do_io_stat(rq))
                return;
 
        part_stat_lock();
-
-       if (!new_io) {
-               part = rq->part;
-               part_stat_inc(part, merges[rw]);
-       } else {
-               part = disk_map_sector_rcu(rq->rq_disk, blk_rq_pos(rq));
-               part_inc_in_flight(rq->q, part, rw);
-               rq->part = part;
-       }
-
-       update_io_ticks(part, jiffies, false);
-
+       if (!new_io)
+               part_stat_inc(rq->part, merges[rq_data_dir(rq)]);
+       else
+               rq->part = disk_map_sector_rcu(rq->rq_disk, blk_rq_pos(rq));
+       update_io_ticks(rq->part, jiffies, false);
        part_stat_unlock();
 }
 
index 1a90363..6a4538d 100644 (file)
@@ -677,8 +677,6 @@ static void blk_account_io_merge(struct request *req)
                part_stat_lock();
                part = req->part;
 
-               part_dec_in_flight(req->q, part, rq_data_dir(req));
-
                hd_struct_put(part);
                part_stat_unlock();
        }