Re: [PATCH] cfq-iosched: add "leaf_weight" setting for the root cgroup in cgroups v2
From: Tejun Heo <tj@kernel.org>
Date: 2017-10-30 14:55:36
Also in:
cgroups, lkml
On Sun, Oct 29, 2017 at 05:36:53PM +0100, Maciej S. Szmigiero wrote:
CFQ scheduler has a property that processes (or tasks in cgroups v1) that aren't assigned to any particular cgroup - that is, which stay in the root cgroup - effectively form an implicit leaf child node attached to the root cgroup. This behavior is documented in blkio-controller.txt for cgroups v1, however as far as I know it isn't documented anywhere for cgroups v2 besides a generic remark that "How resource consumption in the root cgroup is governed is up to each controller" in cgroup-v2.txt. By default, this implicit leaf child node has a (CFQ) weight which is two times higher that the default weight of a child cgroup. cgroups v1 provide a "leaf_weight" setting which allow changing this value. However, this setting is missing from cgroups v2 and so the only way to tweak how much IO time processes in the root cgroup get is to adapt weight settings of all child cgroups accordingly. Let's add a "leaf_weight" setting to the root cgroup in cgroups v2, too. Note that new kernel threads appear in the root cgroup and there seems to be no way to change this since kthreadd cannot be moved to another cgroup (for a good reason). Signed-off-by: Maciej S. Szmigiero <redacted>
I don't think we wanna do this. It's inconsistent with what other controllers do and we want to charge the IOs in the root cgroup to the right cgroup. Thanks. -- tejun