Commit 10ec5e86 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Jens Axboe

block: merge part_{inc,dev}_in_flight into their only callers

part_inc_in_flight and part_dec_in_flight only have one caller each, and
those callers are purely for bio based drivers.  Merge each function into
the only caller, and remove the superflous blk-mq checks.
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 76268f3a
...@@ -1396,13 +1396,16 @@ void generic_start_io_acct(struct request_queue *q, int op, ...@@ -1396,13 +1396,16 @@ void generic_start_io_acct(struct request_queue *q, int op,
unsigned long sectors, struct hd_struct *part) unsigned long sectors, struct hd_struct *part)
{ {
const int sgrp = op_stat_group(op); const int sgrp = op_stat_group(op);
int rw = op_is_write(op);
part_stat_lock(); part_stat_lock();
update_io_ticks(part, jiffies, false); update_io_ticks(part, jiffies, false);
part_stat_inc(part, ios[sgrp]); part_stat_inc(part, ios[sgrp]);
part_stat_add(part, sectors[sgrp], sectors); part_stat_add(part, sectors[sgrp], sectors);
part_inc_in_flight(q, part, op_is_write(op)); part_stat_local_inc(part, in_flight[rw]);
if (part->partno)
part_stat_local_inc(&part_to_disk(part)->part0, in_flight[rw]);
part_stat_unlock(); part_stat_unlock();
} }
...@@ -1414,12 +1417,15 @@ void generic_end_io_acct(struct request_queue *q, int req_op, ...@@ -1414,12 +1417,15 @@ void generic_end_io_acct(struct request_queue *q, int req_op,
unsigned long now = jiffies; unsigned long now = jiffies;
unsigned long duration = now - start_time; unsigned long duration = now - start_time;
const int sgrp = op_stat_group(req_op); const int sgrp = op_stat_group(req_op);
int rw = op_is_write(req_op);
part_stat_lock(); part_stat_lock();
update_io_ticks(part, now, true); update_io_ticks(part, now, true);
part_stat_add(part, nsecs[sgrp], jiffies_to_nsecs(duration)); part_stat_add(part, nsecs[sgrp], jiffies_to_nsecs(duration));
part_dec_in_flight(q, part, op_is_write(req_op)); part_stat_local_dec(part, in_flight[rw]);
if (part->partno)
part_stat_local_dec(&part_to_disk(part)->part0, in_flight[rw]);
part_stat_unlock(); part_stat_unlock();
} }
......
...@@ -345,10 +345,6 @@ void blk_queue_free_zone_bitmaps(struct request_queue *q); ...@@ -345,10 +345,6 @@ void blk_queue_free_zone_bitmaps(struct request_queue *q);
static inline void blk_queue_free_zone_bitmaps(struct request_queue *q) {} static inline void blk_queue_free_zone_bitmaps(struct request_queue *q) {}
#endif #endif
void part_dec_in_flight(struct request_queue *q, struct hd_struct *part,
int rw);
void part_inc_in_flight(struct request_queue *q, struct hd_struct *part,
int rw);
void update_io_ticks(struct hd_struct *part, unsigned long now, bool end); void update_io_ticks(struct hd_struct *part, unsigned long now, bool end);
struct hd_struct *disk_map_sector_rcu(struct gendisk *disk, sector_t sector); struct hd_struct *disk_map_sector_rcu(struct gendisk *disk, sector_t sector);
......
...@@ -119,26 +119,6 @@ static void part_stat_read_all(struct hd_struct *part, struct disk_stats *stat) ...@@ -119,26 +119,6 @@ static void part_stat_read_all(struct hd_struct *part, struct disk_stats *stat)
} }
#endif /* CONFIG_SMP */ #endif /* CONFIG_SMP */
void part_inc_in_flight(struct request_queue *q, struct hd_struct *part, int rw)
{
if (queue_is_mq(q))
return;
part_stat_local_inc(part, in_flight[rw]);
if (part->partno)
part_stat_local_inc(&part_to_disk(part)->part0, in_flight[rw]);
}
void part_dec_in_flight(struct request_queue *q, struct hd_struct *part, int rw)
{
if (queue_is_mq(q))
return;
part_stat_local_dec(part, in_flight[rw]);
if (part->partno)
part_stat_local_dec(&part_to_disk(part)->part0, in_flight[rw]);
}
static unsigned int part_in_flight(struct request_queue *q, static unsigned int part_in_flight(struct request_queue *q,
struct hd_struct *part) struct hd_struct *part)
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment