[GIT PULL] scheduler changes for v6.2

From: Ingo Molnar
Date: Mon Dec 12 2022 - 15:49:36 EST


Linus,

Please pull the latest scheduler tree from:

git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git sched-core-2022-12-12

# HEAD: d6962c4fe8f96f7d384d6489b6b5ab5bf3e35991 sched: Clear ttwu_pending after enqueue_task()

Scheduler changes for v6.2:

- Implement persistent user-requested affinity: introduce affinity_context::user_mask
and unconditionally preserve the user-requested CPU affinity masks, for long-lived
tasks to better interact with cpusets & CPU hotplug events over longer timespans,
without destroying the original affinity intent if the underlying topology changes.

- Uclamp updates: fix relationship between uclamp and fits_capacity()

- PSI fixes

- Misc fixes & updates.

Thanks,

Ingo

------------------>
Chengming Zhou (2):
sched/psi: Fix avgs_work re-arm in psi_avgs_work()
sched/psi: Use task->psi_flags to clear in CPU migration

Hao Lee (1):
sched/psi: Fix possible missing or delayed pending event

Pierre Gondois (1):
sched/fair: Check if prev_cpu has highest spare cap in feec()

Qais Yousef (9):
sched/uclamp: Fix relationship between uclamp and migration margin
sched/uclamp: Make task_fits_capacity() use util_fits_cpu()
sched/uclamp: Fix fits_capacity() check in feec()
sched/uclamp: Make select_idle_capacity() use util_fits_cpu()
sched/uclamp: Make asym_fits_capacity() use util_fits_cpu()
sched/uclamp: Make cpu_overutilized() use util_fits_cpu()
sched/uclamp: Cater for uclamp in find_energy_efficient_cpu()'s early exit condition
sched/fair: Detect capacity inversion
sched/fair: Consider capacity inversion in util_fits_cpu()

Suren Baghdasaryan (1):
sched/psi: Stop relying on timer_pending() for poll_work rescheduling

Tianchen Ding (1):
sched: Clear ttwu_pending after enqueue_task()

Waiman Long (5):
sched: Add __releases annotations to affine_move_task()
sched: Introduce affinity_context
sched: Always preserve the user requested cpumask
sched: Enforce user requested affinity
sched: Always clear user_cpus_ptr in do_set_cpus_allowed()


include/linux/psi_types.h | 4 +
include/linux/sched.h | 3 -
kernel/sched/core.c | 259 ++++++++++++++++++++++++---------------
kernel/sched/deadline.c | 7 +-
kernel/sched/fair.c | 303 ++++++++++++++++++++++++++++++++++++++++------
kernel/sched/psi.c | 100 ++++++++++++---
kernel/sched/sched.h | 92 ++++++++++++--
kernel/sched/stats.h | 22 +---
8 files changed, 607 insertions(+), 183 deletions(-)