[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <Z96PbgNRBu_LYr7t@gmail.com>
Date: Sat, 22 Mar 2025 11:22:38 +0100
From: Ingo Molnar <mingo@...nel.org>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: linux-kernel@...r.kernel.org, Peter Zijlstra <peterz@...radead.org>,
Thomas Gleixner <tglx@...utronix.de>,
Juri Lelli <juri.lelli@...hat.com>,
Vincent Guittot <vincent.guittot@...aro.org>,
Dietmar Eggemann <dietmar.eggemann@....com>,
Steven Rostedt <rostedt@...dmis.org>, Mel Gorman <mgorman@...e.de>,
Valentin Schneider <vschneid@...hat.com>,
Shrikanth Hegde <sshegde@...ux.ibm.com>, Tejun Heo <tj@...nel.org>
Subject: [GIT PULL] Scheduler updates for v6.15
Linus,
Please pull the latest sched/core Git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git sched-core-2025-03-22
# HEAD: 3785c7dbae0f733f13f8857beaaada5d7dc63e02 cpuidle, sched: Use smp_mb__after_atomic() in current_clr_polling()
Scheduler updates for v6.15:
[ Merge note, these two commits are identical:
- f3fa0e40df17 ("sched/clock: Don't define sched_clock_irqtime as static key")
- b9f2b29b9494 ("sched: Don't define sched_clock_irqtime as static key")
The first one is a cherry-picked version of the second, and the first one
is already upstream. ]
Core & fair scheduler changes:
- Cancel the slice protection of the idle entity (Zihan Zhou)
- Reduce the default slice to avoid tasks getting an extra tick
(Zihan Zhou)
- Force propagating min_slice of cfs_rq when {en,de}queue tasks
(Tianchen Ding)
- Refactor can_migrate_task() to elimate looping (I Hsin Cheng)
- Add unlikey branch hints to several system calls (Colin Ian King)
- Optimize current_clr_polling() on certain architectures (Yujun Dong)
Deadline scheduler: (Juri Lelli)
- Remove redundant dl_clear_root_domain call
- Move dl_rebuild_rd_accounting to cpuset.h
Uclamp:
- Use the uclamp_is_used() helper instead of open-coding it (Xuewen Yan)
- Optimize sched_uclamp_used static key enabling (Xuewen Yan)
Scheduler topology support: (Juri Lelli)
- Ignore special tasks when rebuilding domains
- Add wrappers for sched_domains_mutex
- Generalize unique visiting of root domains
- Rebuild root domain accounting after every update
- Remove partition_and_rebuild_sched_domains
- Stop exposing partition_sched_domains_locked
RSEQ: (Michael Jeanson)
- Update kernel fields in lockstep with CONFIG_DEBUG_RSEQ=y
- Fix segfault on registration when rseq_cs is non-zero
- selftests: Add rseq syscall errors test
- selftests: Ensure the rseq ABI TLS is actually 1024 bytes
Membarriers:
- Fix redundant load of membarrier_state (Nysal Jan K.A.)
Scheduler debugging:
- Introduce and use preempt_model_str() (Sebastian Andrzej Siewior)
- Make CONFIG_SCHED_DEBUG unconditional (Ingo Molnar)
Fixes and cleanups:
- Always save/restore x86 TSC sched_clock() on suspend/resume
(Guilherme G. Piccoli)
- Misc fixes and cleanups (Thorsten Blum, Juri Lelli,
Sebastian Andrzej Siewior)
Thanks,
Ingo
------------------>
Colin Ian King (1):
sched: Add unlikey branch hints to several system calls
Guilherme G. Piccoli (1):
x86/tsc: Always save/restore TSC sched_clock() on suspend/resume
I Hsin Cheng (1):
sched/fair: Refactor can_migrate_task() to elimate looping
Ingo Molnar (6):
sched/debug: Change SCHED_WARN_ON() to WARN_ON_ONCE()
sched/debug: Make 'const_debug' tunables unconditional __read_mostly
sched/debug: Make CONFIG_SCHED_DEBUG functionality unconditional
sched/debug, Documentation: Remove (most) CONFIG_SCHED_DEBUG references from documentation
sched/debug: Remove CONFIG_SCHED_DEBUG from self-test config files
sched/debug: Remove CONFIG_SCHED_DEBUG
Juri Lelli (8):
sched/deadline: Ignore special tasks when rebuilding domains
sched/topology: Wrappers for sched_domains_mutex
sched/deadline: Generalize unique visiting of root domains
sched/deadline: Rebuild root domain accounting after every update
sched/topology: Remove redundant dl_clear_root_domain call
cgroup/cpuset: Remove partition_and_rebuild_sched_domains
sched/topology: Stop exposing partition_sched_domains_locked
include/{topology,cpuset}: Move dl_rebuild_rd_accounting to cpuset.h
Michael Jeanson (5):
selftests/rseq: Add rseq syscall errors test
rseq: Update kernel fields in lockstep with CONFIG_DEBUG_RSEQ=y
rseq: Fix segfault on registration when rseq_cs is non-zero
rseq/selftests: Ensure the rseq ABI TLS is actually 1024 bytes
rseq/selftests: Fix namespace collision with rseq UAPI header
Nysal Jan K.A. (1):
sched/membarrier: Fix redundant load of membarrier_state
Sebastian Andrzej Siewior (9):
sched: Add a generic function to return the preemption string
lib/dump_stack: Use preempt_model_str()
arm: Rely on generic printing of preemption model
arm64: Rely on generic printing of preemption model
powerpc: Rely on generic printing of preemption model
s390: Rely on generic printing of preemption model
x86: Rely on generic printing of preemption model
xtensa: Rely on generic printing of preemption model
tracing: Use preempt_model_str()
Thorsten Blum (1):
sched/core: Remove duplicate included header file stats.h
Tianchen Ding (1):
sched/eevdf: Force propagating min_slice of cfs_rq when {en,de}queue tasks
Xuewen Yan (2):
sched/uclamp: Use the uclamp_is_used() helper instead of open-coding it
sched/uclamp: Optimize sched_uclamp_used static key enabling
Yafang Shao (1):
sched: Don't define sched_clock_irqtime as static key
Yujun Dong (1):
cpuidle, sched: Use smp_mb__after_atomic() in current_clr_polling()
zihan zhou (2):
sched: Cancel the slice protection of the idle entity
sched: Reduce the default slice to avoid tasks getting an extra tick
Documentation/scheduler/sched-debug.rst | 2 +-
Documentation/scheduler/sched-design-CFS.rst | 2 +-
Documentation/scheduler/sched-domains.rst | 5 +-
Documentation/scheduler/sched-ext.rst | 3 +-
Documentation/scheduler/sched-stats.rst | 2 +-
.../sp_SP/scheduler/sched-design-CFS.rst | 2 +-
arch/arm/kernel/traps.c | 11 +-
arch/arm64/kernel/traps.c | 10 +-
arch/powerpc/kernel/traps.c | 3 +-
arch/s390/kernel/dumpstack.c | 7 +-
arch/x86/kernel/dumpstack.c | 9 +-
arch/x86/kernel/tsc.c | 4 +-
arch/xtensa/kernel/traps.c | 6 +-
fs/proc/base.c | 7 --
include/linux/cpuset.h | 11 ++
include/linux/energy_model.h | 2 -
include/linux/preempt.h | 2 +
include/linux/sched.h | 5 +
include/linux/sched/deadline.h | 4 +
include/linux/sched/debug.h | 2 -
include/linux/sched/idle.h | 23 ++--
include/linux/sched/mm.h | 7 ++
include/linux/sched/topology.h | 14 ---
include/trace/events/sched.h | 2 -
kernel/cgroup/cpuset.c | 34 ++---
kernel/rseq.c | 140 +++++++++++++--------
kernel/sched/build_utility.c | 4 +-
kernel/sched/core.c | 112 +++++++++++------
kernel/sched/core_sched.c | 2 +-
kernel/sched/cputime.c | 8 +-
kernel/sched/deadline.c | 51 ++++----
kernel/sched/debug.c | 18 +--
kernel/sched/ext.c | 2 +-
kernel/sched/fair.c | 131 ++++++++++---------
kernel/sched/rt.c | 9 +-
kernel/sched/sched.h | 132 +++++++------------
kernel/sched/stats.h | 2 +-
kernel/sched/syscalls.c | 12 +-
kernel/sched/topology.c | 45 +++----
kernel/trace/trace.c | 7 +-
lib/Kconfig.debug | 9 --
lib/dump_stack.c | 4 +-
tools/testing/selftests/rseq/.gitignore | 1 +
tools/testing/selftests/rseq/Makefile | 9 +-
tools/testing/selftests/rseq/rseq.c | 27 ++--
tools/testing/selftests/rseq/rseq.h | 5 +
.../selftests/rseq/run_syscall_errors_test.sh | 5 +
tools/testing/selftests/rseq/syscall_errors_test.c | 124 ++++++++++++++++++
tools/testing/selftests/sched/config | 2 +-
tools/testing/selftests/sched_ext/config | 1 -
.../testing/selftests/wireguard/qemu/debug.config | 1 -
51 files changed, 595 insertions(+), 447 deletions(-)
create mode 100755 tools/testing/selftests/rseq/run_syscall_errors_test.sh
create mode 100644 tools/testing/selftests/rseq/syscall_errors_test.c
Powered by blists - more mailing lists