Hi all, On Mon, 17 Jun 2019 16:06:35 +1000 Stephen Rothwell wrote: > > Today's linux-next merge of the cgroup tree got a conflict in: > > Documentation/cgroup-v1/blkio-controller.rst > > between commit: > > fb5772cbfe48 ("blkio-controller.txt: Remove references to CFQ") > > from Linus' tree and commit: > > 99c8b231ae6c ("docs: cgroup-v1: convert docs to ReST and rename to *.rst") > > from the cgroup tree. > > I fixed it up (see below) and can carry the fix as necessary. This > is now fixed as far as linux-next is concerned, but any non trivial > conflicts should be mentioned to your upstream maintainer when your tree > is submitted for merging. You may also want to consider cooperating > with the maintainer of the conflicting tree to minimise any particularly > complex conflicts. > > -- > Cheers, > Stephen Rothwell > > diff --cc Documentation/cgroup-v1/blkio-controller.rst > index d1a1b7bdd03a,2c1b907afc14..000000000000 > --- a/Documentation/cgroup-v1/blkio-controller.rst > +++ b/Documentation/cgroup-v1/blkio-controller.rst > @@@ -15,15 -19,71 +17,18 @@@ level logical devices like device mappe > > HOWTO > ===== > -Proportional Weight division of bandwidth > ------------------------------------------ > -You can do a very simple testing of running two dd threads in two different > -cgroups. Here is what you can do. > - > -- Enable Block IO controller:: > - > - CONFIG_BLK_CGROUP=y > - > -- Enable group scheduling in CFQ: > - > - > - CONFIG_CFQ_GROUP_IOSCHED=y > - > -- Compile and boot into kernel and mount IO controller (blkio); see > - cgroups.txt, Why are cgroups needed?. > - > - :: > - > - mount -t tmpfs cgroup_root /sys/fs/cgroup > - mkdir /sys/fs/cgroup/blkio > - mount -t cgroup -o blkio none /sys/fs/cgroup/blkio > - > -- Create two cgroups:: > - > - mkdir -p /sys/fs/cgroup/blkio/test1/ /sys/fs/cgroup/blkio/test2 > - > -- Set weights of group test1 and test2:: > - > - echo 1000 > /sys/fs/cgroup/blkio/test1/blkio.weight > - echo 500 > /sys/fs/cgroup/blkio/test2/blkio.weight > - > -- Create two same size files (say 512MB each) on same disk (file1, file2) and > - launch two dd threads in different cgroup to read those files:: > - > - sync > - echo 3 > /proc/sys/vm/drop_caches > - > - dd if=/mnt/sdb/zerofile1 of=/dev/null & > - echo $! > /sys/fs/cgroup/blkio/test1/tasks > - cat /sys/fs/cgroup/blkio/test1/tasks > - > - dd if=/mnt/sdb/zerofile2 of=/dev/null & > - echo $! > /sys/fs/cgroup/blkio/test2/tasks > - cat /sys/fs/cgroup/blkio/test2/tasks > - > -- At macro level, first dd should finish first. To get more precise data, keep > - on looking at (with the help of script), at blkio.disk_time and > - blkio.disk_sectors files of both test1 and test2 groups. This will tell how > - much disk time (in milliseconds), each group got and how many sectors each > - group dispatched to the disk. We provide fairness in terms of disk time, so > - ideally io.disk_time of cgroups should be in proportion to the weight. > - > Throttling/Upper Limit policy > ----------------------------- > - - Enable Block IO controller > + - Enable Block IO controller:: > + > CONFIG_BLK_CGROUP=y > > - - Enable throttling in block layer > + - Enable throttling in block layer:: > + > CONFIG_BLK_DEV_THROTTLING=y > > - - Mount blkio controller (see cgroups.txt, Why are cgroups needed?) > + - Mount blkio controller (see cgroups.txt, Why are cgroups needed?):: > + > mount -t cgroup -o blkio none /sys/fs/cgroup/blkio > > - Specify a bandwidth rate on particular device for root group. The format I am still getting this conflict (the commit ids may have changed). Just a reminder in case you think Linus may need to know. -- Cheers, Stephen Rothwell