2021-04-22 12:39:34

by Peter Zijlstra

[permalink] [raw]
Subject: [PATCH 00/19] sched: Core Scheduling

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.

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(-)


2021-04-22 16:45:34

by Don Hiatt

[permalink] [raw]
Subject: Re: [PATCH 00/19] sched: Core Scheduling

On Thu, Apr 22, 2021 at 5:37 AM Peter Zijlstra <[email protected]> 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.
>
Hi Peter,

Is there a reason that PR_SCHED_CORE_CLEAR got removed? It's handy to
be able to clear
cookies.

Thanks,

Don

> 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.
>
> 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(-)
>

2021-04-22 17:33:10

by Peter Zijlstra

[permalink] [raw]
Subject: Re: [PATCH 00/19] sched: Core Scheduling

On Thu, Apr 22, 2021 at 09:43:59AM -0700, Don Hiatt wrote:
> On Thu, Apr 22, 2021 at 5:37 AM Peter Zijlstra <[email protected]> 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.
> >
> Hi Peter,
>
> Is there a reason that PR_SCHED_CORE_CLEAR got removed? It's handy to
> be able to clear cookies.

I agree, but if we're forced to do cgroup with cookie inherit, when
CLEAR allows a trivial escape.

Until that whole cgroup thing is sorted, it is easiest to not have
CLEAR, lest we have to change/augment CLEAR semantics in unfortunate
ways, which is always harder once an API is out there.

Also, see the entire previous discussion here:

https://lore.kernel.org/lkml/[email protected]/

2021-04-30 06:51:01

by Ning, Hongyu

[permalink] [raw]
Subject: Re: [PATCH 00/19] sched: Core Scheduling


On 2021/4/22 20:04, Peter Zijlstra 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.
>
> 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(-)
>


Adding sysbench/uperf/wis performance results for reference:

- kernel under test:
-- above patchset of core-scheduling + local fix for softlockup issue: https://lore.kernel.org/lkml/[email protected]/
-- coresched_v10 kernel source: https://github.com/digitalocean/linux-coresched/commits/coresched/v10-v5.10.y

- workloads:
-- A. sysbench cpu (192 threads) + sysbench cpu (192 threads)
-- B. sysbench cpu (192 threads) + sysbench mysql (192 threads)
-- C. uperf netperf.xml (192 threads over TCP or UDP protocol separately)
-- D. will-it-scale context_switch via pipe (192 threads)

- test machine setup:
CPU(s): 192
On-line CPU(s) list: 0-191
Thread(s) per core: 2
Core(s) per socket: 48
Socket(s): 2
NUMA node(s): 4

- performance change key info:
--workload B: coresched (cs_on), sysbench mysql performance drop around 20% vs coresched_v10
--workload C, coresched (cs_on), uperf performance increased almost double vs coresched_v10
--workload C, default (cs_off), uperf performance drop over 20% vs coresched_v10, same issue seen on v5.12-rc8 base (w/o coresched patchset)
--workload D, coresched (cs_on), wis performance increased almost double vs coresched_v10

- performance info of workloads, normalized based on coresched_v10 results
--workload A:
Note:
* no performance change compared to coresched_v10
+---------------------------------------+------+----------------------------------------------+------------------------------------------------+-------+-------------------------------+---------------------------------+
| | ** | coresched_peterz_aubrey_fix_base_v5.12-rc8 | coresched_peterz_aubrey_fix_base_v5.12-rc8 | *** | coresched_v10_base_v5.10.11 | coresched_v10_base_v5.10.11 |
+=======================================+======+==============================================+================================================+=======+===============================+=================================+
| workload | ** | sysbench cpu * 192 | sysbench cpu * 192 | *** | sysbench cpu * 192 | sysbench cpu * 192 |
+---------------------------------------+------+----------------------------------------------+------------------------------------------------+-------+-------------------------------+---------------------------------+
| prctl/cgroup | ** | prctl on workload cpu_0 | prctl on workload cpu_1 | *** | cg_sysbench_cpu_0 | cg_sysbench_cpu_1 |
+---------------------------------------+------+----------------------------------------------+------------------------------------------------+-------+-------------------------------+---------------------------------+
| record_item | ** | Tput_avg (events/s) | Tput_avg (events/s) | *** | Tput_avg (events/s) | Tput_avg (events/s) |
+---------------------------------------+------+----------------------------------------------+------------------------------------------------+-------+-------------------------------+---------------------------------+
| coresched normalized vs coresched_v10 | ** | 0.99 | 1.01 | *** | 1 | 1 |
+---------------------------------------+------+----------------------------------------------+------------------------------------------------+-------+-------------------------------+---------------------------------+
| default normalized vs coresched_v10 | ** | 1.03 | 0.98 | *** | 1 | 1 |
+---------------------------------------+------+----------------------------------------------+------------------------------------------------+-------+-------------------------------+---------------------------------+
| smtoff normalized vs coresched_v10 | ** | 1.01 | 0.99 | *** | 1 | 1 |
+---------------------------------------+------+----------------------------------------------+------------------------------------------------+-------+-------------------------------+---------------------------------+

--workload B:
Note:
* coresched (cs_on), sysbench mysql performance drop around 20% vs coresched_v10
+---------------------------------------+------+----------------------------------------------+------------------------------------------------+-------+-------------------------------+---------------------------------+
| | ** | coresched_peterz_aubrey_fix_base_v5.12-rc8 | coresched_peterz_aubrey_fix_base_v5.12-rc8 | *** | coresched_v10_base_v5.10.11 | coresched_v10_base_v5.10.11 |
+=======================================+======+==============================================+================================================+=======+===============================+=================================+
| workload | ** | sysbench cpu * 192 | sysbench mysql * 192 | *** | sysbench cpu * 192 | sysbench mysql * 192 |
+---------------------------------------+------+----------------------------------------------+------------------------------------------------+-------+-------------------------------+---------------------------------+
| prctl/cgroup | ** | prctl on workload cpu_0 | prctl on workload mysql_0 | *** | cg_sysbench_cpu_0 | cg_sysbench_mysql_0 |
+---------------------------------------+------+----------------------------------------------+------------------------------------------------+-------+-------------------------------+---------------------------------+
| record_item | ** | Tput_avg (events/s) | Tput_avg (events/s) | *** | Tput_avg (events/s) | Tput_avg (events/s) |
+---------------------------------------+------+----------------------------------------------+------------------------------------------------+-------+-------------------------------+---------------------------------+
| coresched normalized vs coresched_v10 | ** | 1.03 | 0.77 | *** | 1 | 1 |
+---------------------------------------+------+----------------------------------------------+------------------------------------------------+-------+-------------------------------+---------------------------------+
| default normalized vs coresched_v10 | ** | 1.02 | 0.9 | *** | 1 | 1 |
+---------------------------------------+------+----------------------------------------------+------------------------------------------------+-------+-------------------------------+---------------------------------+
| smtoff normalized vs coresched_v10 | ** | 0.94 | 1.14 | *** | 1 | 1 |
+---------------------------------------+------+----------------------------------------------+------------------------------------------------+-------+-------------------------------+---------------------------------+

--workload C:
Note:
* coresched (cs_on), uperf performance increased almost double vs coresched_v10
* default (cs_off), uperf performance drop over 20% vs coresched_v10, same issue seen on v5.12-rc8 base (w/o coresched patchset)
+---------------------------------------+------+----------------------------------------------+------------------------------------------------+-------+-------------------------------+---------------------------------+
| | ** | coresched_peterz_aubrey_fix_base_v5.12-rc8 | coresched_peterz_aubrey_fix_base_v5.12-rc8 | *** | coresched_v10_base_v5.10.11 | coresched_v10_base_v5.10.11 |
+=======================================+======+==============================================+================================================+=======+===============================+=================================+
| workload | ** | uperf netperf TCP * 192 | uperf netperf UDP * 192 | *** | uperf netperf TCP * 192 | uperf netperf UDP * 192 |
+---------------------------------------+------+----------------------------------------------+------------------------------------------------+-------+-------------------------------+---------------------------------+
| prctl/cgroup | ** | prctl on workload uperf | prctl on workload uperf | *** | cg_uperf | cg_uperf |
+---------------------------------------+------+----------------------------------------------+------------------------------------------------+-------+-------------------------------+---------------------------------+
| record_item | ** | Tput_avg (Gb/s) | Tput_avg (Gb/s) | *** | Tput_avg (Gb/s) | Tput_avg (Gb/s) |
+---------------------------------------+------+----------------------------------------------+------------------------------------------------+-------+-------------------------------+---------------------------------+
| coresched normalized vs coresched_v10 | ** | 1.87 | 1.99 | *** | 1 | 1 |
+---------------------------------------+------+----------------------------------------------+------------------------------------------------+-------+-------------------------------+---------------------------------+
| default normalized vs coresched_v10 | ** | 0.78 | 0.74 | *** | 1 | 1 |
+---------------------------------------+------+----------------------------------------------+------------------------------------------------+-------+-------------------------------+---------------------------------+
| smtoff normalized vs coresched_v10 | ** | 0.87 | 0.95 | *** | 1 | 1 |
+---------------------------------------+------+----------------------------------------------+------------------------------------------------+-------+-------------------------------+---------------------------------+

--workload D:
Note:
* coresched (cs_on), wis performance increased almost double vs coresched_v10
+---------------------------------------+------+----------------------------------------------+-------+-------------------------------+
| | ** | coresched_peterz_aubrey_fix_base_v5.12-rc8 | *** | coresched_v10_base_v5.10.11 |
+=======================================+======+==============================================+=======+===============================+
| workload | ** | will-it-scale * 192 | *** | will-it-scale * 192 |
| | | (pipe based context_switch) | | (pipe based context_switch) |
+---------------------------------------+------+----------------------------------------------+-------+-------------------------------+
| prctl/cgroup | ** | prctl on workload wis | *** | cg_wis |
+---------------------------------------+------+----------------------------------------------+-------+-------------------------------+
| record_item | ** | threads_avg | *** | threads_avg |
+---------------------------------------+------+----------------------------------------------+-------+-------------------------------+
| coresched normalized vs coresched_v10 | ** | 1.98 | *** | 1 |
+---------------------------------------+------+----------------------------------------------+-------+-------------------------------+
| default normalized vs coresched_v10 | ** | 1.13 | *** | 1 |
+---------------------------------------+------+----------------------------------------------+-------+-------------------------------+
| smtoff normalized vs coresched_v10 | ** | 1.32 | *** | 1 |
+---------------------------------------+------+----------------------------------------------+-------+-------------------------------+

-- notes on record_item:
* coresched normalized vs coresched_v10: smton, cs enabled, test result normalized by result of coresched_v10 under same config
* default normalized vs coresched_v10: smton, cs disabled, test result normalized by result of coresched_v10 under same config
* smtoff normalized vs coresched_v10: smtoff, test result normalized by result of coresched_v10 under same config

Hongyu

2021-05-06 10:31:13

by Peter Zijlstra

[permalink] [raw]
Subject: Re: [PATCH 00/19] sched: Core Scheduling

On Fri, Apr 30, 2021 at 02:47:00PM +0800, Ning, Hongyu wrote:
> Adding sysbench/uperf/wis performance results for reference:
>
> - kernel under test:
> -- above patchset of core-scheduling + local fix for softlockup issue: https://lore.kernel.org/lkml/[email protected]/
> -- coresched_v10 kernel source: https://github.com/digitalocean/linux-coresched/commits/coresched/v10-v5.10.y

Shall I summarize all this as:

Tested-by: Hongyu Ning <[email protected]>

?

2021-05-06 12:55:39

by Ning, Hongyu

[permalink] [raw]
Subject: Re: [PATCH 00/19] sched: Core Scheduling



On 2021/5/6 18:29, Peter Zijlstra wrote:
> On Fri, Apr 30, 2021 at 02:47:00PM +0800, Ning, Hongyu wrote:
>> Adding sysbench/uperf/wis performance results for reference:
>>
>> - kernel under test:
>> -- above patchset of core-scheduling + local fix for softlockup issue: https://lore.kernel.org/lkml/[email protected]/
>> -- coresched_v10 kernel source: https://github.com/digitalocean/linux-coresched/commits/coresched/v10-v5.10.y
>
> Shall I summarize all this as:
>
> Tested-by: Hongyu Ning <[email protected]>
>
> ?
>

Yes, that would be great.

Regards,
Hongyu

2021-05-07 18:03:44

by Joel Fernandes

[permalink] [raw]
Subject: Re: [PATCH 00/19] sched: Core Scheduling

On Thu, Apr 22, 2021 at 8:36 AM Peter Zijlstra <[email protected]> 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.

Thanks Peter, I uploaded this set to our ChromeOS 5.10 kernel tree
with minor changes to make it apply, to:
https://chromium-review.googlesource.com/q/topic:cs510
Let me know if anything looks weird, but it does build. I will be
testing it further in the coming days.

Of course product kernels slightly lag upstream but such is life <:-)

- Joel

>
> 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(-)
>

2021-05-10 16:19:34

by Vincent Guittot

[permalink] [raw]
Subject: Re: [PATCH 00/19] sched: Core Scheduling

Hi Peter,

On Thu, 22 Apr 2021 at 14:36, Peter Zijlstra <[email protected]> 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 <[email protected]>



>
> 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(-)
>

2021-05-11 07:01:41

by Vincent Guittot

[permalink] [raw]
Subject: Re: [PATCH 00/19] sched: Core Scheduling

On Mon, 10 May 2021 at 18:16, Vincent Guittot
<[email protected]> wrote:
>
> Hi Peter,
>
> On Thu, 22 Apr 2021 at 14:36, Peter Zijlstra <[email protected]> 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 <[email protected]>

Tested-by: Vincent Guittot <[email protected]>

With the correct email address

>
>
>
> >
> > 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(-)
> >