On Sat, Mar 21, 2020 at 09:20:36AM +0800, Weiping Zhang wrote: > The user space tool, which called iotrack, used to collect these basic > io statistics and then generate more valuable metrics at cgroup level. > From iotrack, you can get a cgroup's percentile for io, bytes, > total_time and disk_time of the whole disk. It can easily to evaluate > the real weight of the weight based policy(bfq, blk-iocost). > There are lots of metrics for read and write generate by iotrack, > for more details, please visit: https://github.com/dublio/iotrack. > > Test result for two fio with randread 4K, > test1 cgroup bfq weight = 800 > test2 cgroup bfq weight = 100 > > Device io/s MB/s %io %MB %tm %dtm %d2c %hit0 %hit1 %hit2 %hit3 %hit4 %hit5 %hit6 %hit7 cgroup > nvme1n1 44588.00 174.17 100.00 100.00 100.00 100.00 38.46 0.25 45.27 95.90 98.33 99.47 99.85 99.92 99.95 / > nvme1n1 30206.00 117.99 67.74 67.74 29.44 67.29 87.90 0.35 47.82 99.22 99.98 99.99 99.99 100.00 100.00 /test1 > nvme1n1 14370.00 56.13 32.23 32.23 70.55 32.69 17.82 0.03 39.89 88.92 94.88 98.37 99.53 99.77 99.85 /test2 Maybe this'd be better done with bpf? -- tejun