Re: [RFC PATCH 2/2] sched/eevdf: Introduce a cgroup interface for slice

From: Tianchen Ding
Date: Wed Oct 30 2024 - 10:55:17 EST


On 2024/10/30 19:00, Peter Zijlstra wrote:
On Mon, Oct 28, 2024 at 02:33:13PM +0800, Tianchen Ding wrote:
Introduce "cpu.fair_slice" for cgroup v2 and "cpu.fair_slice_us" for v1
according to their name styles. The unit is always microseconds.

A cgroup with shorter slice can preempt others more easily. This could be
useful in container scenarios.

By default, cpu.fair_slice is 0, which means the slice of se is
calculated by min_slice from its cfs_rq. If cpu.fair_slice is set, it
will overwrite se->slice with the customized value.

So I'm not sure I like to expose this, like this.

The thing is, this is really specific to the way we schedule the cgroup
mess, fully hierarchical. If you want to collapse all this, like one of
those bpf schedulers does, then you cannot do this.

Yes, "slice" is an absolute value and may not fit the hierarchical cgroup...
There probably might not be a perfect solution :(

Anyway, I'll later send v2 for the 1st patch which fixes an existing issue.

Thanks.