diff options
author | Gu Zheng <guz.fnst@cn.fujitsu.com> | 2014-11-24 11:05:22 +0800 |
---|---|---|
committer | Jens Axboe <axboe@fb.com> | 2014-11-24 08:04:44 -0700 |
commit | 394ffa503bc40e32d7f54a9b817264e81ce131b4 (patch) | |
tree | 551aa110ea3ef7519d7a5ea444ac9c9640de4234 /include/linux/bio.h | |
parent | b657d7e632e0bc40e5e231332be39d69b2f1a0bb (diff) | |
download | lwn-394ffa503bc40e32d7f54a9b817264e81ce131b4.tar.gz lwn-394ffa503bc40e32d7f54a9b817264e81ce131b4.zip |
blk: introduce generic io stat accounting help function
Many block drivers accounting io stat based on bio (e.g. NVMe...),
the blk_account_io_start/end() which is based on request
does not make sense to them, so here we introduce the similar help
function named generic_start/end_io_acct base on raw sectors, and it can
simplify some driver's open io accounting code.
Signed-off-by: Gu Zheng <guz.fnst@cn.fujitsu.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
Diffstat (limited to 'include/linux/bio.h')
-rw-r--r-- | include/linux/bio.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/include/linux/bio.h b/include/linux/bio.h index 7347f486ceca..efead0b532c4 100644 --- a/include/linux/bio.h +++ b/include/linux/bio.h @@ -443,6 +443,11 @@ extern struct bio *bio_copy_kern(struct request_queue *, void *, unsigned int, extern void bio_set_pages_dirty(struct bio *bio); extern void bio_check_pages_dirty(struct bio *bio); +void generic_start_io_acct(int rw, unsigned long sectors, + struct hd_struct *part); +void generic_end_io_acct(int rw, struct hd_struct *part, + unsigned long start_time); + #ifndef ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE # error "You should define ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE for your platform" #endif |