Hi all, 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
Attachment:
pgptE9TL1s1_s.pgp
Description: OpenPGP digital signature