[GIT PULL] scheduler changes for v5.15

From: Ingo Molnar
Date: Mon Aug 30 2021 - 06:01:42 EST


Please pull the latest sched/core git tree from:

git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git sched-core-2021-08-30

# HEAD: b542e383d8c005f06a131e2b40d5889b812f19c6 eventfd: Make signal recursion protection a task bit

Scheduler changes for v5.15 are:

- The biggest change in this cycle is scheduler support for asymmetric
scheduling affinity, to support the execution of legacy 32-bit tasks on
AArch32 systems that also have 64-bit-only CPUs.

Architectures can fill in this functionality by defining their
own task_cpu_possible_mask(p). When this is done, the scheduler will
make sure the task will only be scheduled on CPUs that support it.

(The actual arm64 specific changes are not part of this tree.)

For other architectures there will be no change in functionality.

- Add cgroup SCHED_IDLE support

- Increase node-distance flexibility & delay determining it until a CPU
is brought online. (This enables platforms where node distance isn't
final until the CPU is only.)

- Deadline scheduler enhancements & fixes

- Misc fixes & cleanups.



Dietmar Eggemann (1):
sched/deadline: Fix missing clock update in migrate_task_rq_dl()

Hailong Liu (1):
sched/sysctl: Move extern sysctl declarations to sched.h

Ingo Molnar (1):
sched/fair: Mark tg_is_idle() an inline in the !CONFIG_FAIR_GROUP_SCHED case

Josh Don (1):
sched: Cgroup SCHED_IDLE support

Julian Wiedmann (1):
wait: use LIST_HEAD_INIT() to initialize wait_queue_head

Mel Gorman (2):
sched/fair: Use prev instead of new target as recent_used_cpu
sched/fair: Avoid a second scan of target in select_idle_cpu

Mika Penttilä (1):
sched/numa: Fix is_core_idle()

Quentin Perret (4):
sched/deadline: Fix reset_on_fork reporting of DL tasks
sched: Don't report SCHED_FLAG_SUGOV in sched_getattr()
sched: Fix UCLAMP_FLAG_IDLE setting
sched: Skip priority checks with SCHED_FLAG_KEEP_PARAMS

Sebastian Andrzej Siewior (1):
sched: Replace deprecated CPU-hotplug functions.

Thomas Gleixner (1):
eventfd: Make signal recursion protection a task bit

Valentin Schneider (2):
sched/debug: Don't update sched_domain debug directories before sched_debug_init()
sched/topology: Skip updating masks for non-online nodes

Wang Hui (1):
sched: remove redundant on_rq status change

Will Deacon (9):
sched: Introduce task_cpu_possible_mask() to limit fallback rq selection
cpuset: Don't use the cpu_possible_mask as a last resort for cgroup v1
cpuset: Honour task_cpu_possible_mask() in guarantee_online_cpus()
cpuset: Cleanup cpuset_cpus_allowed_fallback() use in select_fallback_rq()
sched: Reject CPU affinity changes based on task_cpu_possible_mask()
sched: Introduce task_struct::user_cpus_ptr to track requested affinity
sched: Split the guts of sched_setaffinity() into a helper function
sched: Allow task CPU affinity to be restricted on asymmetric systems
sched: Introduce dl_task_check_affinity() to check proposed affinity

Yuan ZhaoXiong (1):
sched: Optimize housekeeping_cpumask() in for_each_cpu_and()

fs/aio.c | 2 +-
fs/eventfd.c | 12 +-
include/linux/cpuset.h | 8 +-
include/linux/eventfd.h | 11 +-
include/linux/mmu_context.h | 14 ++
include/linux/sched.h | 25 +++
include/linux/sched/sysctl.h | 18 --
include/linux/wait.h | 2 +-
init/init_task.c | 1 +
kernel/cgroup/cpuset.c | 59 ++++--
kernel/fork.c | 2 +
kernel/sched/core.c | 440 ++++++++++++++++++++++++++++++++++---------
kernel/sched/deadline.c | 8 +-
kernel/sched/debug.c | 10 +
kernel/sched/fair.c | 211 +++++++++++++++++----
kernel/sched/sched.h | 26 +++
kernel/sched/topology.c | 65 +++++++
17 files changed, 729 insertions(+), 185 deletions(-)