Re: Question about group scheduler cpu shares

From: Gaurav Poothia
Date: Thu Jul 21 2016 - 21:18:21 EST


+Ingo, Peter


On Thu, Jul 21, 2016 at 12:03 PM, Gaurav Poothia
<gaurav.poothia@xxxxxxxxx> wrote:
> Hi,
> The cgroup "cpu" subsystem's weight calculation using "cpu shares" is
> fairly clear when all tasks are attached to the leaf cgroups in "cpu"
> subsystem.
> For example in this cgroup hierarchy with tasks A.B,C and D and
> associated cpu shares:
>
> ROOT
> |
> + -Group1(3072)
> | |
> | +- A(2048)
> | |
> | +- B(1024)
> |
> +- Group2(2048)
> |
> +-C(1024)
> |
> +-D(1024)
>
> Group 1 and Group 2 split the CPU 60% to 40% respectively
> A and B split Group1's 60% share 2/3rd to 1/3rd so absolute share of
> CPU will be 40% and 20% respectively
> C and D split Group2's 40% share evenly so absolute shares or 20% each
> So far so good. But in this example all tasks are associated with leaf cgroups.
>
> Say I add a task E to Group1's task list (note that is an interior aka
> non-leaf node)
> How does the CPU split change between A, B and E.
> AFAICT there is no cgroup cpu subsystem knob to weight tasks on an
> interior node against the tasks in that node's children
>
> Thanks in advance!
> Gaurav



--
Kiva.org - Loans That Change Lives