> Il giorno 23 apr 2018, alle ore 08:35, jianchao.wang <jianchao.w.wang@xxxxxxxxxx> ha scritto: > > Hi Paolo > > On 04/23/2018 01:32 PM, Paolo Valente wrote: >> Thanks for sharing this fix. I tried it too, but nothing changes in >> my test :(> > > That's really sad. > >> At this point, my doubt is still: am I getting io.low limit right? I >> understand that an I/O-bound group should be guaranteed a rbps at >> least equal to the rbps set with io.low for that group (of course, >> provided that the sum of io.low limits is lower than the rate at which >> the device serves all the I/O generated by the groups). Is this >> really what io.low shall guarantee? > > I agree with your point about this even if I'm not qualified to judge it. > ok, thank for your feedback. > On the other hand, could you share your test case and blk-throl config here ? > I wrote the description of the test, and the way I made it (and so the way you can easily reproduce it exactly) in my first email. I'm repeating it here for your convenience. With - one group, the interfered, containing one process that does sequential reads with fio - io.low set to 100MB/s for the interfered - six other groups, the interferers, with each interferer containing one process doing sequential read with fio - io.low set to 10MB/s for each interferer - the workload executed on an SSD, with a 500MB/s of overall throughput the interfered gets only 75MB/s. In particular, the throughput of the interfered becomes lower and lower as the number of interferers is increased. So you can make it become even much lower than the 75MB/s in the example above. There seems to be no control on bandwidth. Am I doing something wrong? Or did I simply misunderstand the goal of io.low, and the only parameter for guaranteeing the desired bandwidth to a group is io.max (to be used indirectly, by limiting the bandwidth of the interferers)? If useful for you, you can reproduce the above test very quickly, by using the S suite [1] and typing: cd thr-lat-with-interference sudo ./thr-lat-with-interference.sh -b t -w 100000000 -W "10000000 10000000 10000000 10000000 10000000 10000000" -n 6 -T "read read read read read read" -R "0 0 0 0 0 0" [1] https://github.com/Algodev-github/S > Thanks > Jianchao