Re: [RFC PATCH 0/2] sched/fair: Remove tunable scaling

From: torvic9

Date: Mon Oct 12 2026 - 08:56:29 EST



> Vincent Guittot <vincent.guittot@xxxxxxxxxx> hat am 12.10.2026 14:37 MESZ geschrieben:
>
>
> On Fri, 2 Oct 2026 at 14:45, Tor Vic <torvic9@xxxxxxxxxxx> wrote:
> >
> > This series removes the scaling of tunables, which was introduced around
> > Linux 2.6.33.
> >
> > I split this into two separate patches:
> >
> > The first removes the "none" and "linear" scaling which are likely not used much
> > and have limited usefulness, as one can always set sched_base_slice through
> > debugfs.
>
> How did you reach this conclusion? and why it's worth removing it
>

I thought that companies would choose a specific base_slice through sysctl,
based upon their needs, but then, I'm not active in the IT segment so I might be wrong.

It's possible that there are distributions that use "none" or "linear" by default,
but I'm not aware of any.

> > It keeps the logarithmic scaling which is already the default.
> >
> > The second removes the entire scaling mecanism and sets a fixed sched_base_slice
> > of 2 milliseconds, a value which has been chosen somewhat arbitrarily.
>
> No, the sysctl_sched_base_slice value has not been chosen arbitrarily
> and the commit you mentioned below gives you the reason

That's a misunderstanding.

I wanted to say that *I* chose the arbitrary 2 ms in this patchset, not that the
kernel's default of 0.7 ms was chosen arbitrarily.

>
> >
> > Currently, the base_slice multiplied by the log2 factor can take the values of
> > 0.7 (1 CPU), 1.4 (2-3 CPUs), 2.1 (4-7 CPUs) and 2.8 msecs (8+ CPUs), so it seems
> > that the new value of 2 msecs is a sane default, which I also use on my consumer
> > x86_64 machines.
> > However I'll leave that open for discussion. Note that the base_slice value has
> > changed quite often over the years, lastly in 2025 [1].
> >
> > The series applies to 7.3-rc5, and is build- and boot tested on a measly 2C/4T
> > Skylake machine. I marked it as RFC because I don't know whether these changes
> > are actually wanted by the sched people - and because I'm not a developer.
> > It does however remove quite a lot of code.
> >
> > [1] commit 2ae891b826958b60919ea21c727f77bcd6ffcc2c
> >
> > Tor Vic (2):
> > sched/fair: Remove the 'none' and 'linear' scaling of tunables
> > sched/fair: Remove sched_base_slice scaling altogether
> >
> > include/linux/sched/sysctl.h | 7 ----
> > kernel/sched/core.c | 1 -
> > kernel/sched/debug.c | 52 ------------------------
> > kernel/sched/fair.c | 79 ++----------------------------------
> > kernel/sched/sched.h | 5 ---
> > 5 files changed, 3 insertions(+), 141 deletions(-)
> >
> > --
> > 2.55.0
> >