Re: [PATCH 00/19] sched: Core Scheduling

From: Vincent Guittot
Date: Mon May 10 2021 - 12:17:13 EST


Hi Peter,

On Thu, 22 Apr 2021 at 14:36, Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
>
> Hai,
>
> This is an agressive fold of all the core-scheduling work so far. I've stripped
> a whole bunch of tags along the way (hopefully not too many, please yell if you
> feel I made a mistake), including tested-by. Please retest.
>
> Changes since the last partial post is dropping all the cgroup stuff and
> PR_SCHED_CORE_CLEAR as well as that exec() behaviour in order to later resolve
> the cgroup issue.
>
> Since we're really rather late for the coming merge window, my plan was to
> merge the lot right after the merge window.
>
> Again, please test.

I have run various tests with your sched/core-sched branch on my arm64
machine: 2 numa * 28 cores * SMT4

List of tests:
perf sched pipe
hackbench process and threads with 1,4,16,32,64,128,256 groups
tbench with 1,4,16,32,64,128,256 groups
Unixbench shell and exec
reaim

core-sched was compiled but not used: CONFIG_SCHED_CORE=y

I haven't seen any regressions or problems; it's a mix of +/- 1-2%. I
have only seen one significant improvement for hackbench -g 1 (+4.92%)
that I don't really explain. Will dig a bit one this later

So Tested-by: Vincent Guittot <vincent.guitto@xxxxxxxxxx>



>
> These patches should shortly be available in my queue.git.
>
> ---
> b/kernel/sched/core_sched.c | 229 ++++++
> b/tools/testing/selftests/sched/.gitignore | 1
> b/tools/testing/selftests/sched/Makefile | 14
> b/tools/testing/selftests/sched/config | 1
> b/tools/testing/selftests/sched/cs_prctl_test.c | 338 +++++++++
> include/linux/sched.h | 19
> include/uapi/linux/prctl.h | 8
> kernel/Kconfig.preempt | 6
> kernel/fork.c | 4
> kernel/sched/Makefile | 1
> kernel/sched/core.c | 858 ++++++++++++++++++++++--
> kernel/sched/cpuacct.c | 12
> kernel/sched/deadline.c | 38 -
> kernel/sched/debug.c | 4
> kernel/sched/fair.c | 276 +++++--
> kernel/sched/idle.c | 13
> kernel/sched/pelt.h | 2
> kernel/sched/rt.c | 31
> kernel/sched/sched.h | 393 ++++++++--
> kernel/sched/stop_task.c | 14
> kernel/sched/topology.c | 4
> kernel/sys.c | 5
> tools/include/uapi/linux/prctl.h | 8
> 23 files changed, 2057 insertions(+), 222 deletions(-)
>