diff options
author | Konstantin Khlebnikov <khlebnikov@yandex-team.ru> | 2019-11-21 13:40:26 +0300 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2019-11-21 19:06:47 +0300 |
commit | b6866318657717c8914673a6394894d12bc9ff5e (patch) | |
tree | f4d534373b711f368f079d0cc54d3d71892e1feb /Documentation/admin-guide/iostats.rst | |
parent | 40d47c155e8ae9bcb3f2d0d01cf14d903c664726 (diff) | |
download | linux-b6866318657717c8914673a6394894d12bc9ff5e.tar.xz |
block: add iostat counters for flush requests
Requests that triggers flushing volatile writeback cache to disk (barriers)
have significant effect to overall performance.
Block layer has sophisticated engine for combining several flush requests
into one. But there is no statistics for actual flushes executed by disk.
Requests which trigger flushes usually are barriers - zero-size writes.
This patch adds two iostat counters into /sys/class/block/$dev/stat and
/proc/diskstats - count of completed flush requests and their total time.
Signed-off-by: Konstantin Khlebnikov <khlebnikov@yandex-team.ru>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'Documentation/admin-guide/iostats.rst')
-rw-r--r-- | Documentation/admin-guide/iostats.rst | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/Documentation/admin-guide/iostats.rst b/Documentation/admin-guide/iostats.rst index 5d63b18bd6d1..4f0462af3ca7 100644 --- a/Documentation/admin-guide/iostats.rst +++ b/Documentation/admin-guide/iostats.rst @@ -121,6 +121,15 @@ Field 15 -- # of milliseconds spent discarding This is the total number of milliseconds spent by all discards (as measured from __make_request() to end_that_request_last()). +Field 16 -- # of flush requests completed + This is the total number of flush requests completed successfully. + + Block layer combines flush requests and executes at most one at a time. + This counts flush requests executed by disk. Not tracked for partitions. + +Field 17 -- # of milliseconds spent flushing + This is the total number of milliseconds spent by all flush requests. + To avoid introducing performance bottlenecks, no locks are held while modifying these counters. This implies that minor inaccuracies may be introduced when changes collide, so (for instance) adding up all the |