md/bcache: use generic io stats accounting functions to simplify io stat accounting
Use generic io stats accounting help functions (generic_{start,end}_io_acct) to simplify io stat accounting. Signed-off-by: Gu Zheng <guz.fnst@cn.fujitsu.com> Acked-by: Kent Overstreet <kmo@datera.io> Signed-off-by: Jens Axboe <axboe@fb.com>
This commit is contained in:
parent
f74cd637b2
commit
aae4933da9
|
@ -601,13 +601,8 @@ static void request_endio(struct bio *bio, int error)
|
|||
static void bio_complete(struct search *s)
|
||||
{
|
||||
if (s->orig_bio) {
|
||||
int cpu, rw = bio_data_dir(s->orig_bio);
|
||||
unsigned long duration = jiffies - s->start_time;
|
||||
|
||||
cpu = part_stat_lock();
|
||||
part_round_stats(cpu, &s->d->disk->part0);
|
||||
part_stat_add(cpu, &s->d->disk->part0, ticks[rw], duration);
|
||||
part_stat_unlock();
|
||||
generic_end_io_acct(bio_data_dir(s->orig_bio),
|
||||
&s->d->disk->part0, s->start_time);
|
||||
|
||||
trace_bcache_request_end(s->d, s->orig_bio);
|
||||
bio_endio(s->orig_bio, s->iop.error);
|
||||
|
@ -959,12 +954,9 @@ static void cached_dev_make_request(struct request_queue *q, struct bio *bio)
|
|||
struct search *s;
|
||||
struct bcache_device *d = bio->bi_bdev->bd_disk->private_data;
|
||||
struct cached_dev *dc = container_of(d, struct cached_dev, disk);
|
||||
int cpu, rw = bio_data_dir(bio);
|
||||
int rw = bio_data_dir(bio);
|
||||
|
||||
cpu = part_stat_lock();
|
||||
part_stat_inc(cpu, &d->disk->part0, ios[rw]);
|
||||
part_stat_add(cpu, &d->disk->part0, sectors[rw], bio_sectors(bio));
|
||||
part_stat_unlock();
|
||||
generic_start_io_acct(rw, bio_sectors(bio), &d->disk->part0);
|
||||
|
||||
bio->bi_bdev = dc->bdev;
|
||||
bio->bi_iter.bi_sector += dc->sb.data_offset;
|
||||
|
@ -1074,12 +1066,9 @@ static void flash_dev_make_request(struct request_queue *q, struct bio *bio)
|
|||
struct search *s;
|
||||
struct closure *cl;
|
||||
struct bcache_device *d = bio->bi_bdev->bd_disk->private_data;
|
||||
int cpu, rw = bio_data_dir(bio);
|
||||
int rw = bio_data_dir(bio);
|
||||
|
||||
cpu = part_stat_lock();
|
||||
part_stat_inc(cpu, &d->disk->part0, ios[rw]);
|
||||
part_stat_add(cpu, &d->disk->part0, sectors[rw], bio_sectors(bio));
|
||||
part_stat_unlock();
|
||||
generic_start_io_acct(rw, bio_sectors(bio), &d->disk->part0);
|
||||
|
||||
s = search_alloc(bio, d);
|
||||
cl = &s->cl;
|
||||
|
|
Loading…
Reference in a new issue