Commit e4275de
committed
fio: add latency steady state detection
Add fio latency steady state support. The implementation calculates
weighted average latency across all I/O directions and supports both
maximum mean deviation and slope-based detection methods.
Tested successfully against NVMe device with debug output confirming
proper latency calculation and steady state evaluation.
Quick demo with the null engine:
fio --name=test --ioengine=null --size=1G --rw=randread --bs=4k --iodepth=64 --steadystate=lat:100us --ss_dur=10s --runtime=120s --time_based=1
test: (g=0): rw=randread, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=null, iodepth=64
fio-3.41-20-gf2b2e-dirty
Starting 1 process
Jobs: 1 (f=1): [f(1)][100.0%][r=15.6GiB/s][r=4078k IOPS][eta 00m:00s]
test: (groupid=0, jobs=1): err= 0: pid=1207074: Tue Oct 7 11:47:27 2025
read: IOPS=4054k, BW=15.5GiB/s (16.6GB/s)(153GiB/9899msec)
slat (nsec): min=18, max=33347, avg=22.20, stdev=64.49
clat (nsec): min=135, max=42283, avg=152.74, stdev=173.53
lat (nsec): min=156, max=42306, avg=174.94, stdev=185.32
clat percentiles (nsec):
| 1.00th=[ 139], 5.00th=[ 141], 10.00th=[ 141], 20.00th=[ 143],
| 30.00th=[ 143], 40.00th=[ 145], 50.00th=[ 147], 60.00th=[ 153],
| 70.00th=[ 155], 80.00th=[ 157], 90.00th=[ 163], 95.00th=[ 171],
| 99.00th=[ 217], 99.50th=[ 221], 99.90th=[ 239], 99.95th=[ 270],
| 99.99th=[ 2096]
bw ( MiB/s): min=15344, max=15944, per=100.00%, avg=15835.92, stdev=132.94, samples=19
iops : min=3928298, max=4081694, avg=4053996.63, stdev=34033.65, samples=19
lat (nsec) : 250=99.93%, 500=0.06%, 750=0.01%, 1000=0.01%
lat (usec) : 2=0.01%, 4=0.01%, 10=0.01%, 20=0.01%, 50=0.01%
cpu : usr=99.93%, sys=0.03%, ctx=88, majf=0, minf=6
IO depths : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
issued rwts: total=40129848,0,0,0 short=0,0,0,0 dropped=0,0,0,0
latency : target=0, window=0, percentile=100.00%, depth=64
steadystate : attained=yes, bw=15.2GiB/s (15.9GB/s), iops=3976k, lat=152nsec, lat mean dev=2.700
Run status group 0 (all jobs):
READ: bw=15.5GiB/s (16.6GB/s), 15.5GiB/s-15.5GiB/s (16.6GB/s-16.6GB/s), io=153GiB (164GB), run=9899-9899msec
Generated-by: Claude AI
Signed-off-by: Luis Chamberlain <[email protected]>1 parent 81a80cb commit e4275de
File tree
8 files changed
+195
-18
lines changed8 files changed
+195
-18
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4216 | 4216 | | |
4217 | 4217 | | |
4218 | 4218 | | |
| 4219 | + | |
| 4220 | + | |
| 4221 | + | |
| 4222 | + | |
| 4223 | + | |
| 4224 | + | |
| 4225 | + | |
| 4226 | + | |
| 4227 | + | |
| 4228 | + | |
| 4229 | + | |
| 4230 | + | |
4219 | 4231 | | |
4220 | 4232 | | |
4221 | 4233 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1079 | 1079 | | |
1080 | 1080 | | |
1081 | 1081 | | |
| 1082 | + | |
1082 | 1083 | | |
1083 | 1084 | | |
1084 | 1085 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1364 | 1364 | | |
1365 | 1365 | | |
1366 | 1366 | | |
1367 | | - | |
| 1367 | + | |
| 1368 | + | |
1368 | 1369 | | |
1369 | 1370 | | |
1370 | 1371 | | |
| |||
1419 | 1420 | | |
1420 | 1421 | | |
1421 | 1422 | | |
| 1423 | + | |
| 1424 | + | |
| 1425 | + | |
| 1426 | + | |
| 1427 | + | |
| 1428 | + | |
| 1429 | + | |
| 1430 | + | |
| 1431 | + | |
| 1432 | + | |
| 1433 | + | |
| 1434 | + | |
| 1435 | + | |
| 1436 | + | |
| 1437 | + | |
1422 | 1438 | | |
1423 | 1439 | | |
1424 | 1440 | | |
| |||
5536 | 5552 | | |
5537 | 5553 | | |
5538 | 5554 | | |
| 5555 | + | |
| 5556 | + | |
| 5557 | + | |
| 5558 | + | |
| 5559 | + | |
| 5560 | + | |
| 5561 | + | |
| 5562 | + | |
5539 | 5563 | | |
5540 | 5564 | | |
5541 | 5565 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
935 | 935 | | |
936 | 936 | | |
937 | 937 | | |
938 | | - | |
939 | | - | |
| 938 | + | |
| 939 | + | |
940 | 940 | | |
941 | 941 | | |
942 | 942 | | |
943 | 943 | | |
944 | 944 | | |
945 | 945 | | |
946 | 946 | | |
| 947 | + | |
947 | 948 | | |
948 | 949 | | |
949 | 950 | | |
950 | 951 | | |
| 952 | + | |
| 953 | + | |
| 954 | + | |
| 955 | + | |
| 956 | + | |
951 | 957 | | |
952 | | - | |
| 958 | + | |
| 959 | + | |
| 960 | + | |
| 961 | + | |
| 962 | + | |
| 963 | + | |
| 964 | + | |
| 965 | + | |
| 966 | + | |
| 967 | + | |
| 968 | + | |
| 969 | + | |
953 | 970 | | |
954 | 971 | | |
955 | | - | |
| 972 | + | |
| 973 | + | |
| 974 | + | |
956 | 975 | | |
957 | 976 | | |
958 | 977 | | |
959 | 978 | | |
960 | 979 | | |
961 | 980 | | |
962 | 981 | | |
| 982 | + | |
| 983 | + | |
963 | 984 | | |
964 | 985 | | |
965 | 986 | | |
| |||
1903 | 1924 | | |
1904 | 1925 | | |
1905 | 1926 | | |
1906 | | - | |
| 1927 | + | |
1907 | 1928 | | |
1908 | 1929 | | |
1909 | 1930 | | |
| |||
1942 | 1963 | | |
1943 | 1964 | | |
1944 | 1965 | | |
| 1966 | + | |
| 1967 | + | |
| 1968 | + | |
| 1969 | + | |
| 1970 | + | |
| 1971 | + | |
| 1972 | + | |
| 1973 | + | |
| 1974 | + | |
| 1975 | + | |
1945 | 1976 | | |
1946 | 1977 | | |
1947 | 1978 | | |
| |||
2600 | 2631 | | |
2601 | 2632 | | |
2602 | 2633 | | |
| 2634 | + | |
2603 | 2635 | | |
2604 | 2636 | | |
2605 | 2637 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
283 | 283 | | |
284 | 284 | | |
285 | 285 | | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
286 | 296 | | |
287 | 297 | | |
288 | 298 | | |
| |||
0 commit comments