mirror of
https://github.com/torvalds/linux.git
synced 2026-07-27 17:47:41 +02:00
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: Christoph Hellwig <hch@lst.de> Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
76268f3ac0
commit
10ec5e86f9
10
block/bio.c
10
block/bio.c
|
|
@ -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,
|
||||||
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);
|
||||||
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)
|
||||||
}
|
}
|
||||||
#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)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user