summaryrefslogtreecommitdiff
path: root/block/blk-core.c
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2020-05-13 13:49:34 +0300
committerJens Axboe <axboe@kernel.dk>2020-05-19 18:35:24 +0300
commit76268f3ac0a69e76270af5f67ab239ccd796ae56 (patch)
treecdb87416f6b127b8dbddd9e4cf4727af5e0463ff /block/blk-core.c
parentb2f609e191edc9c7a9dec603318461eeb23f8a6b (diff)
downloadlinux-76268f3ac0a69e76270af5f67ab239ccd796ae56.tar.xz
block: don't call part_{inc,dec}_in_flight for blk-mq devices
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>
Diffstat (limited to 'block/blk-core.c')
-rw-r--r--block/blk-core.c21
1 files changed, 5 insertions, 16 deletions
diff --git a/block/blk-core.c b/block/blk-core.c
index d8df56e9bffb..77e57c2e8d60 100644
--- a/block/blk-core.c
+++ b/block/blk-core.c
@@ -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();
}