Loading drivers/block/aoe/aoecmd.c +4 −9 Original line number Diff line number Diff line Loading @@ -468,16 +468,11 @@ aoecmd_ata_rsp(struct sk_buff *skb) unsigned long duration = jiffies - buf->start_time; unsigned long n_sect = buf->bio->bi_size >> 9; struct gendisk *disk = d->gd; const int rw = bio_data_dir(buf->bio); if (bio_data_dir(buf->bio) == WRITE) { disk_stat_inc(disk, writes); disk_stat_add(disk, write_ticks, duration); disk_stat_add(disk, write_sectors, n_sect); } else { disk_stat_inc(disk, reads); disk_stat_add(disk, read_ticks, duration); disk_stat_add(disk, read_sectors, n_sect); } disk_stat_inc(disk, ios[rw]); disk_stat_add(disk, ticks[rw], duration); disk_stat_add(disk, sectors[rw], n_sect); disk_stat_add(disk, io_ticks, duration); n = (buf->flags & BUFFL_FAIL) ? -EIO : 0; bio_endio(buf->bio, buf->bio->bi_size, n); Loading drivers/block/genhd.c +14 −15 Original line number Diff line number Diff line Loading @@ -391,13 +391,12 @@ static ssize_t disk_stats_read(struct gendisk * disk, char *page) "%8u %8u %8llu %8u " "%8u %8u %8u" "\n", disk_stat_read(disk, reads), disk_stat_read(disk, read_merges), (unsigned long long)disk_stat_read(disk, read_sectors), jiffies_to_msecs(disk_stat_read(disk, read_ticks)), disk_stat_read(disk, writes), disk_stat_read(disk, write_merges), (unsigned long long)disk_stat_read(disk, write_sectors), jiffies_to_msecs(disk_stat_read(disk, write_ticks)), disk_stat_read(disk, ios[0]), disk_stat_read(disk, merges[0]), (unsigned long long)disk_stat_read(disk, sectors[0]), jiffies_to_msecs(disk_stat_read(disk, ticks[0])), disk_stat_read(disk, ios[1]), disk_stat_read(disk, merges[1]), (unsigned long long)disk_stat_read(disk, sectors[1]), jiffies_to_msecs(disk_stat_read(disk, ticks[1])), disk->in_flight, jiffies_to_msecs(disk_stat_read(disk, io_ticks)), jiffies_to_msecs(disk_stat_read(disk, time_in_queue))); Loading Loading @@ -583,12 +582,12 @@ static int diskstats_show(struct seq_file *s, void *v) preempt_enable(); seq_printf(s, "%4d %4d %s %u %u %llu %u %u %u %llu %u %u %u %u\n", gp->major, n + gp->first_minor, disk_name(gp, n, buf), disk_stat_read(gp, reads), disk_stat_read(gp, read_merges), (unsigned long long)disk_stat_read(gp, read_sectors), jiffies_to_msecs(disk_stat_read(gp, read_ticks)), disk_stat_read(gp, writes), disk_stat_read(gp, write_merges), (unsigned long long)disk_stat_read(gp, write_sectors), jiffies_to_msecs(disk_stat_read(gp, write_ticks)), disk_stat_read(gp, ios[0]), disk_stat_read(gp, merges[0]), (unsigned long long)disk_stat_read(gp, sectors[0]), jiffies_to_msecs(disk_stat_read(gp, ticks[0])), disk_stat_read(gp, ios[1]), disk_stat_read(gp, merges[1]), (unsigned long long)disk_stat_read(gp, sectors[1]), jiffies_to_msecs(disk_stat_read(gp, ticks[1])), gp->in_flight, jiffies_to_msecs(disk_stat_read(gp, io_ticks)), jiffies_to_msecs(disk_stat_read(gp, time_in_queue))); Loading @@ -601,8 +600,8 @@ static int diskstats_show(struct seq_file *s, void *v) seq_printf(s, "%4d %4d %s %u %u %u %u\n", gp->major, n + gp->first_minor + 1, disk_name(gp, n + 1, buf), hd->reads, hd->read_sectors, hd->writes, hd->write_sectors); hd->ios[0], hd->sectors[0], hd->ios[1], hd->sectors[1]); } return 0; Loading drivers/block/ll_rw_blk.c +17 −30 Original line number Diff line number Diff line Loading @@ -2387,16 +2387,9 @@ static void drive_stat_acct(struct request *rq, int nr_sectors, int new_io) if (!blk_fs_request(rq) || !rq->rq_disk) return; if (rw == READ) { __disk_stat_add(rq->rq_disk, read_sectors, nr_sectors); if (!new_io) __disk_stat_inc(rq->rq_disk, read_merges); } else if (rw == WRITE) { __disk_stat_add(rq->rq_disk, write_sectors, nr_sectors); if (!new_io) __disk_stat_inc(rq->rq_disk, write_merges); } if (new_io) { if (!new_io) { __disk_stat_inc(rq->rq_disk, merges[rw]); } else { disk_round_stats(rq->rq_disk); rq->rq_disk->in_flight++; } Loading Loading @@ -2791,17 +2784,11 @@ static inline void blk_partition_remap(struct bio *bio) if (bdev != bdev->bd_contains) { struct hd_struct *p = bdev->bd_part; const int rw = bio_data_dir(bio); p->sectors[rw] += bio_sectors(bio); p->ios[rw]++; switch (bio_data_dir(bio)) { case READ: p->read_sectors += bio_sectors(bio); p->reads++; break; case WRITE: p->write_sectors += bio_sectors(bio); p->writes++; break; } bio->bi_sector += p->start_sect; bio->bi_bdev = bdev->bd_contains; } Loading Loading @@ -3048,6 +3035,12 @@ static int __end_that_request_first(struct request *req, int uptodate, (unsigned long long)req->sector); } if (blk_fs_request(req) && req->rq_disk) { const int rw = rq_data_dir(req); __disk_stat_add(req->rq_disk, sectors[rw], nr_bytes >> 9); } total_bytes = bio_nbytes = 0; while ((bio = req->bio) != NULL) { int nbytes; Loading Loading @@ -3176,16 +3169,10 @@ void end_that_request_last(struct request *req) if (disk && blk_fs_request(req)) { unsigned long duration = jiffies - req->start_time; switch (rq_data_dir(req)) { case WRITE: __disk_stat_inc(disk, writes); __disk_stat_add(disk, write_ticks, duration); break; case READ: __disk_stat_inc(disk, reads); __disk_stat_add(disk, read_ticks, duration); break; } const int rw = rq_data_dir(req); __disk_stat_inc(disk, ios[rw]); __disk_stat_add(disk, ticks[rw], duration); disk_round_stats(disk); disk->in_flight--; } Loading drivers/md/linear.c +3 −7 Original line number Diff line number Diff line Loading @@ -271,6 +271,7 @@ static int linear_stop (mddev_t *mddev) static int linear_make_request (request_queue_t *q, struct bio *bio) { const int rw = bio_data_dir(bio); mddev_t *mddev = q->queuedata; dev_info_t *tmp_dev; sector_t block; Loading @@ -280,13 +281,8 @@ static int linear_make_request (request_queue_t *q, struct bio *bio) return 0; } if (bio_data_dir(bio)==WRITE) { disk_stat_inc(mddev->gendisk, writes); disk_stat_add(mddev->gendisk, write_sectors, bio_sectors(bio)); } else { disk_stat_inc(mddev->gendisk, reads); disk_stat_add(mddev->gendisk, read_sectors, bio_sectors(bio)); } disk_stat_inc(mddev->gendisk, ios[rw]); disk_stat_add(mddev->gendisk, sectors[rw], bio_sectors(bio)); tmp_dev = which_dev(mddev, bio->bi_sector); block = bio->bi_sector >> 1; Loading drivers/md/md.c +2 −2 Original line number Diff line number Diff line Loading @@ -3466,8 +3466,8 @@ static int is_mddev_idle(mddev_t *mddev) idle = 1; ITERATE_RDEV(mddev,rdev,tmp) { struct gendisk *disk = rdev->bdev->bd_contains->bd_disk; curr_events = disk_stat_read(disk, read_sectors) + disk_stat_read(disk, write_sectors) - curr_events = disk_stat_read(disk, sectors[0]) + disk_stat_read(disk, sectors[1]) - atomic_read(&disk->sync_io); /* Allow some slack between valud of curr_events and last_events, * as there are some uninteresting races. Loading Loading
drivers/block/aoe/aoecmd.c +4 −9 Original line number Diff line number Diff line Loading @@ -468,16 +468,11 @@ aoecmd_ata_rsp(struct sk_buff *skb) unsigned long duration = jiffies - buf->start_time; unsigned long n_sect = buf->bio->bi_size >> 9; struct gendisk *disk = d->gd; const int rw = bio_data_dir(buf->bio); if (bio_data_dir(buf->bio) == WRITE) { disk_stat_inc(disk, writes); disk_stat_add(disk, write_ticks, duration); disk_stat_add(disk, write_sectors, n_sect); } else { disk_stat_inc(disk, reads); disk_stat_add(disk, read_ticks, duration); disk_stat_add(disk, read_sectors, n_sect); } disk_stat_inc(disk, ios[rw]); disk_stat_add(disk, ticks[rw], duration); disk_stat_add(disk, sectors[rw], n_sect); disk_stat_add(disk, io_ticks, duration); n = (buf->flags & BUFFL_FAIL) ? -EIO : 0; bio_endio(buf->bio, buf->bio->bi_size, n); Loading
drivers/block/genhd.c +14 −15 Original line number Diff line number Diff line Loading @@ -391,13 +391,12 @@ static ssize_t disk_stats_read(struct gendisk * disk, char *page) "%8u %8u %8llu %8u " "%8u %8u %8u" "\n", disk_stat_read(disk, reads), disk_stat_read(disk, read_merges), (unsigned long long)disk_stat_read(disk, read_sectors), jiffies_to_msecs(disk_stat_read(disk, read_ticks)), disk_stat_read(disk, writes), disk_stat_read(disk, write_merges), (unsigned long long)disk_stat_read(disk, write_sectors), jiffies_to_msecs(disk_stat_read(disk, write_ticks)), disk_stat_read(disk, ios[0]), disk_stat_read(disk, merges[0]), (unsigned long long)disk_stat_read(disk, sectors[0]), jiffies_to_msecs(disk_stat_read(disk, ticks[0])), disk_stat_read(disk, ios[1]), disk_stat_read(disk, merges[1]), (unsigned long long)disk_stat_read(disk, sectors[1]), jiffies_to_msecs(disk_stat_read(disk, ticks[1])), disk->in_flight, jiffies_to_msecs(disk_stat_read(disk, io_ticks)), jiffies_to_msecs(disk_stat_read(disk, time_in_queue))); Loading Loading @@ -583,12 +582,12 @@ static int diskstats_show(struct seq_file *s, void *v) preempt_enable(); seq_printf(s, "%4d %4d %s %u %u %llu %u %u %u %llu %u %u %u %u\n", gp->major, n + gp->first_minor, disk_name(gp, n, buf), disk_stat_read(gp, reads), disk_stat_read(gp, read_merges), (unsigned long long)disk_stat_read(gp, read_sectors), jiffies_to_msecs(disk_stat_read(gp, read_ticks)), disk_stat_read(gp, writes), disk_stat_read(gp, write_merges), (unsigned long long)disk_stat_read(gp, write_sectors), jiffies_to_msecs(disk_stat_read(gp, write_ticks)), disk_stat_read(gp, ios[0]), disk_stat_read(gp, merges[0]), (unsigned long long)disk_stat_read(gp, sectors[0]), jiffies_to_msecs(disk_stat_read(gp, ticks[0])), disk_stat_read(gp, ios[1]), disk_stat_read(gp, merges[1]), (unsigned long long)disk_stat_read(gp, sectors[1]), jiffies_to_msecs(disk_stat_read(gp, ticks[1])), gp->in_flight, jiffies_to_msecs(disk_stat_read(gp, io_ticks)), jiffies_to_msecs(disk_stat_read(gp, time_in_queue))); Loading @@ -601,8 +600,8 @@ static int diskstats_show(struct seq_file *s, void *v) seq_printf(s, "%4d %4d %s %u %u %u %u\n", gp->major, n + gp->first_minor + 1, disk_name(gp, n + 1, buf), hd->reads, hd->read_sectors, hd->writes, hd->write_sectors); hd->ios[0], hd->sectors[0], hd->ios[1], hd->sectors[1]); } return 0; Loading
drivers/block/ll_rw_blk.c +17 −30 Original line number Diff line number Diff line Loading @@ -2387,16 +2387,9 @@ static void drive_stat_acct(struct request *rq, int nr_sectors, int new_io) if (!blk_fs_request(rq) || !rq->rq_disk) return; if (rw == READ) { __disk_stat_add(rq->rq_disk, read_sectors, nr_sectors); if (!new_io) __disk_stat_inc(rq->rq_disk, read_merges); } else if (rw == WRITE) { __disk_stat_add(rq->rq_disk, write_sectors, nr_sectors); if (!new_io) __disk_stat_inc(rq->rq_disk, write_merges); } if (new_io) { if (!new_io) { __disk_stat_inc(rq->rq_disk, merges[rw]); } else { disk_round_stats(rq->rq_disk); rq->rq_disk->in_flight++; } Loading Loading @@ -2791,17 +2784,11 @@ static inline void blk_partition_remap(struct bio *bio) if (bdev != bdev->bd_contains) { struct hd_struct *p = bdev->bd_part; const int rw = bio_data_dir(bio); p->sectors[rw] += bio_sectors(bio); p->ios[rw]++; switch (bio_data_dir(bio)) { case READ: p->read_sectors += bio_sectors(bio); p->reads++; break; case WRITE: p->write_sectors += bio_sectors(bio); p->writes++; break; } bio->bi_sector += p->start_sect; bio->bi_bdev = bdev->bd_contains; } Loading Loading @@ -3048,6 +3035,12 @@ static int __end_that_request_first(struct request *req, int uptodate, (unsigned long long)req->sector); } if (blk_fs_request(req) && req->rq_disk) { const int rw = rq_data_dir(req); __disk_stat_add(req->rq_disk, sectors[rw], nr_bytes >> 9); } total_bytes = bio_nbytes = 0; while ((bio = req->bio) != NULL) { int nbytes; Loading Loading @@ -3176,16 +3169,10 @@ void end_that_request_last(struct request *req) if (disk && blk_fs_request(req)) { unsigned long duration = jiffies - req->start_time; switch (rq_data_dir(req)) { case WRITE: __disk_stat_inc(disk, writes); __disk_stat_add(disk, write_ticks, duration); break; case READ: __disk_stat_inc(disk, reads); __disk_stat_add(disk, read_ticks, duration); break; } const int rw = rq_data_dir(req); __disk_stat_inc(disk, ios[rw]); __disk_stat_add(disk, ticks[rw], duration); disk_round_stats(disk); disk->in_flight--; } Loading
drivers/md/linear.c +3 −7 Original line number Diff line number Diff line Loading @@ -271,6 +271,7 @@ static int linear_stop (mddev_t *mddev) static int linear_make_request (request_queue_t *q, struct bio *bio) { const int rw = bio_data_dir(bio); mddev_t *mddev = q->queuedata; dev_info_t *tmp_dev; sector_t block; Loading @@ -280,13 +281,8 @@ static int linear_make_request (request_queue_t *q, struct bio *bio) return 0; } if (bio_data_dir(bio)==WRITE) { disk_stat_inc(mddev->gendisk, writes); disk_stat_add(mddev->gendisk, write_sectors, bio_sectors(bio)); } else { disk_stat_inc(mddev->gendisk, reads); disk_stat_add(mddev->gendisk, read_sectors, bio_sectors(bio)); } disk_stat_inc(mddev->gendisk, ios[rw]); disk_stat_add(mddev->gendisk, sectors[rw], bio_sectors(bio)); tmp_dev = which_dev(mddev, bio->bi_sector); block = bio->bi_sector >> 1; Loading
drivers/md/md.c +2 −2 Original line number Diff line number Diff line Loading @@ -3466,8 +3466,8 @@ static int is_mddev_idle(mddev_t *mddev) idle = 1; ITERATE_RDEV(mddev,rdev,tmp) { struct gendisk *disk = rdev->bdev->bd_contains->bd_disk; curr_events = disk_stat_read(disk, read_sectors) + disk_stat_read(disk, write_sectors) - curr_events = disk_stat_read(disk, sectors[0]) + disk_stat_read(disk, sectors[1]) - atomic_read(&disk->sync_io); /* Allow some slack between valud of curr_events and last_events, * as there are some uninteresting races. Loading