rsxx: use bio_{start,end}_io_acct
authorChristoph Hellwig <hch@lst.de>
Wed, 27 May 2020 05:24:06 +0000 (07:24 +0200)
committerJens Axboe <axboe@kernel.dk>
Wed, 27 May 2020 11:21:23 +0000 (05:21 -0600)
Switch rsxx to use the nicer bio accounting helpers.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Konstantin Khlebnikov <khlebnikov@yandex-team.ru>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/block/rsxx/dev.c

index 8ffa8260dcafe9b846a24e8788ad6b6cd04577da..3ba07ab30c84f5478beb58c192d66d576a2f22ad 100644 (file)
@@ -96,20 +96,6 @@ static const struct block_device_operations rsxx_fops = {
        .ioctl          = rsxx_blkdev_ioctl,
 };
 
-static void disk_stats_start(struct rsxx_cardinfo *card, struct bio *bio)
-{
-       generic_start_io_acct(card->queue, bio_op(bio), bio_sectors(bio),
-                            &card->gendisk->part0);
-}
-
-static void disk_stats_complete(struct rsxx_cardinfo *card,
-                               struct bio *bio,
-                               unsigned long start_time)
-{
-       generic_end_io_acct(card->queue, bio_op(bio),
-                           &card->gendisk->part0, start_time);
-}
-
 static void bio_dma_done_cb(struct rsxx_cardinfo *card,
                            void *cb_data,
                            unsigned int error)
@@ -121,7 +107,7 @@ static void bio_dma_done_cb(struct rsxx_cardinfo *card,
 
        if (atomic_dec_and_test(&meta->pending_dmas)) {
                if (!card->eeh_state && card->gendisk)
-                       disk_stats_complete(card, meta->bio, meta->start_time);
+                       bio_end_io_acct(meta->bio, meta->start_time);
 
                if (atomic_read(&meta->error))
                        bio_io_error(meta->bio);
@@ -167,10 +153,9 @@ static blk_qc_t rsxx_make_request(struct request_queue *q, struct bio *bio)
        bio_meta->bio = bio;
        atomic_set(&bio_meta->error, 0);
        atomic_set(&bio_meta->pending_dmas, 0);
-       bio_meta->start_time = jiffies;
 
        if (!unlikely(card->halt))
-               disk_stats_start(card, bio);
+               bio_meta->start_time = bio_start_io_acct(bio);
 
        dev_dbg(CARD_TO_DEV(card), "BIO[%c]: meta: %p addr8: x%llx size: %d\n",
                 bio_data_dir(bio) ? 'W' : 'R', bio_meta,