diff options
author | Li Nan <linan122@huawei.com> | 2023-06-13 09:33:32 +0800 |
---|---|---|
committer | Mike Snitzer <snitzer@kernel.org> | 2023-06-16 18:24:13 -0400 |
commit | 526d10061bc29b314cc41f3b8322606df9172f14 (patch) | |
tree | 7a2478c5e856ea145f8f86113aaed4bc8293c385 /drivers/md/dm-core.h | |
parent | e118029cb7605a89bf334a83023fc0c102420954 (diff) | |
download | lwn-526d10061bc29b314cc41f3b8322606df9172f14.tar.gz lwn-526d10061bc29b314cc41f3b8322606df9172f14.zip |
dm: support turning off block-core's io stats accounting
Commit bc58ba9468d9 ("block: add sysfs file for controlling io stats
accounting") allowed users to turn off disk stat accounting completely
by checking if queue flag QUEUE_FLAG_IO_STAT is set. In dm, this flag
is neither set nor checked: so block-core's io stats are continuously
counted and cannot be turned off.
Add support for turning off block-core's io stats accounting for dm.
Set QUEUE_FLAG_IO_STAT for dm's request_queue. If QUEUE_FLAG_IO_STAT
is set when an io starts, record the need for block core's io stats by
setting the DM_IO_BLK_STAT dm_io flag to avoid io stats being disabled
in the middle of the io.
DM statistics (dm-stats) is independent of block-core's io stats and
remains unchanged.
Signed-off-by: Li Nan <linan122@huawei.com>
Signed-off-by: Mike Snitzer <snitzer@kernel.org>
Diffstat (limited to 'drivers/md/dm-core.h')
-rw-r--r-- | drivers/md/dm-core.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/md/dm-core.h b/drivers/md/dm-core.h index ce913ad91a52..0d93661f88d3 100644 --- a/drivers/md/dm-core.h +++ b/drivers/md/dm-core.h @@ -306,7 +306,8 @@ struct dm_io { */ enum { DM_IO_ACCOUNTED, - DM_IO_WAS_SPLIT + DM_IO_WAS_SPLIT, + DM_IO_BLK_STAT }; static inline bool dm_io_flagged(struct dm_io *io, unsigned int bit) |