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 09:06:47 -0700 |
commit | b6866318657717c8914673a6394894d12bc9ff5e (patch) | |
tree | f4d534373b711f368f079d0cc54d3d71892e1feb /Documentation/block | |
parent | 40d47c155e8ae9bcb3f2d0d01cf14d903c664726 (diff) | |
download | linux-stable-b6866318657717c8914673a6394894d12bc9ff5e.tar.gz linux-stable-b6866318657717c8914673a6394894d12bc9ff5e.tar.bz2 linux-stable-b6866318657717c8914673a6394894d12bc9ff5e.zip |
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/block')
-rw-r--r-- | Documentation/block/stat.rst | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/Documentation/block/stat.rst b/Documentation/block/stat.rst index 9c07bc22b0bc..77311335c08b 100644 --- a/Documentation/block/stat.rst +++ b/Documentation/block/stat.rst @@ -41,6 +41,8 @@ discard I/Os requests number of discard I/Os processed discard merges requests number of discard I/Os merged with in-queue I/O discard sectors sectors number of sectors discarded discard ticks milliseconds total wait time for discard requests +flush I/Os requests number of flush I/Os processed +flush ticks milliseconds total wait time for flush requests =============== ============= ================================================= read I/Os, write I/Os, discard I/0s @@ -48,6 +50,14 @@ read I/Os, write I/Os, discard I/0s These values increment when an I/O request completes. +flush I/Os +========== + +These values increment when an flush I/O request completes. + +Block layer combines flush requests and executes at most one at a time. +This counts flush requests executed by disk. Not tracked for partitions. + read merges, write merges, discard merges ========================================= @@ -62,8 +72,8 @@ discarded from this block device. The "sectors" in question are the standard UNIX 512-byte sectors, not any device- or filesystem-specific block size. The counters are incremented when the I/O completes. -read ticks, write ticks, discard ticks -====================================== +read ticks, write ticks, discard ticks, flush ticks +=================================================== These values count the number of milliseconds that I/O requests have waited on this block device. If there are multiple I/O requests waiting, |