Subject: Re: linux-next: manual merge of the cgroup tree with Linus' tree

From: Stephen Rothwell <[email-masked]>
Date: Tue, 9 Jul 2019 09:25:07 +1000

Hi all,

On Mon, 17 Jun 2019 16:06:35 +1000 Stephen Rothwell <[email-masked]> 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