On Sat, May 11, 2024 at 3:35 PM Zhaoyang Huang <huangzhaoyang@xxxxxxxxx> wrote: > > On Fri, May 10, 2024 at 11:18 AM Matthew Wilcox <willy@xxxxxxxxxxxxx> wrote: > > > > On Fri, May 10, 2024 at 10:43:20AM +0800, Zhaoyang Huang wrote: > > > Thanks for the prompt. I did some basic research on soft RAID and > > > wonder if applying the bps limit on /dev/md0 like below could make > > > this work. > > > > No. Look at btrfs' raid support, for example. it doesn't use md0. > If I understand the below command correctly, btrfs uses one of the > volumes within RAID as the mount block device, not /dev/md0. However, > I think this is a problem of blkio.throttle rather than this commit > which means this readahead budget control will work accordingly as > long as blkio.throttle's parameter is configured correctly(eg. 50/50 > on sdb and sdc) > > mkfs.btrfs -m raid0 -d raid0 /dev/sdb /dev/sdc > mount -t btrfs /dev/sdb /mnt/btr > > > > > > > > I didn't find information about 'RAID internally'. Could we set the > > > limit on the root device(the one used for mount) to manage the whole > > > partition without caring about where the bio finally goes? Or ask the > > > user to decide if to use by making sure the device they apply will not > > > do RAID? > > > > No. @all, Please find below for more test results where we can find this commit has the result meet the desired value more closely and enhance it by 3% than mainline. echo "254:48 20000000" > blkio.throttle.read_bps_device fio -filename=/data/ylog/ap/000-0101_000015_poweron.ylog -rw=read -direct=0 -bs=4k -size=2000M -numjobs=8 -group_reporting -name=mytest before : IOPS=37.9k, BW=148MiB/s (155MB/s)(11.6GiB/80333msec) after : IOPS=39.0k, BW=153MiB/s (160MB/s)(15.6GiB/104914msec) before : clat (usec): min=4, max=1056.6k, avg=197.23, stdev=10080.69 after : clat (usec): min=4, max=193481, avg=188.83, stdev=4651.29 before : lat (usec): min=5, max=1056.6k, avg=200.48, stdev=10080.76 after : lat (usec): min=5, max=193483, avg=192.68, stdev=4651.87 echo "254:48 30000000" > blkio.throttle.read_bps_device fio -filename=/data/ylog/ap/000-0101_000015_poweron.ylog -rw=read -direct=0 -bs=4k -size=2000M -numjobs=8 -group_reporting -name=mytest before : IOPS=57.2k, BW=224MiB/s (234MB/s)(15.6GiB/71561msec) after : IOPS=58.5k, BW=229MiB/s (240MB/s)(15.6GiB/69996msec) before : clat (usec): min=4, max=1105.5k, avg=126.20, stdev=6419.22 after : clat (usec): min=4, max=183956, avg=120.60, stdev=2957.28 before : lat (usec): min=5, max=1105.5k, avg=129.45, stdev=6419.29 after : lat (usec): min=5, max=183958, avg=124.40, stdev=2958.18