[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <Zzt_or2E2KEypfbi@gmail.com>
Date: Mon, 18 Nov 2024 18:55:46 +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>,
Ben Segall <bsegall@...gle.com>, 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 changes for v6.13
Linus,
Please pull the latest sched/core Git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git sched-core-2024-11-18
# HEAD: 771d271b2b908cf660d6789bb4355ed553250edc sched, x86: Update the comment for TIF_NEED_RESCHED_LAZY.
Scheduler changes for v6.13:
- Core facilities:
- Add the "Lazy preemption" model (CONFIG_PREEMPT_LAZY=y), which optimizes
fair-class preemption by delaying preemption requests to the
tick boundary, while working as full preemption for RR/FIFO/DEADLINE
classes. (Peter Zijlstra)
- x86: Enable Lazy preemption (Peter Zijlstra)
- riscv: Enable Lazy preemption (Jisheng Zhang)
- Initialize idle tasks only once (Thomas Gleixner)
- sched/ext: Remove sched_fork() hack (Thomas Gleixner)
- Fair scheduler:
- Optimize the PLACE_LAG when se->vlag is zero (Huang Shijie)
- Idle loop:
Optimize the generic idle loop by removing unnecessary
memory barrier (Zhongqiu Han)
- RSEQ:
- Improve cache locality of RSEQ concurrency IDs for
intermittent workloads (Mathieu Desnoyers)
- Waitqueues:
- Make wake_up_{bit,var} less fragile (Neil Brown)
- PSI:
- Pass enqueue/dequeue flags to psi callbacks directly (Johannes Weiner)
- Preparatory patches for proxy execution:
- core: Add move_queued_task_locked helper (Connor O'Brien)
- core: Consolidate pick_*_task to task_is_pushable helper (Connor O'Brien)
- core: Split out __schedule() deactivate task logic into a helper (John Stultz)
- core: Split scheduler and execution contexts (Peter Zijlstra)
- locking/mutex: Make mutex::wait_lock irq safe (Juri Lelli)
- locking/mutex: Expose __mutex_owner() (Juri Lelli)
- locking/mutex: Remove wakeups from under mutex::wait_lock (Peter Zijlstra)
- Misc fixes and cleanups:
- core: Remove unused __HAVE_THREAD_FUNCTIONS hook support (David Disseldorp)
- core: Update the comment for TIF_NEED_RESCHED_LAZY (Sebastian Andrzej Siewior)
- wait: Remove unused bit_wait_io_timeout (Dr. David Alan Gilbert)
- fair: remove the DOUBLE_TICK feature (Huang Shijie)
- fair: fix the comment for PREEMPT_SHORT (Huang Shijie)
- uclamp: Fix unnused variable warning (Christian Loehle)
- rt: No PREEMPT_RT=y for all{yes,mod}config
Thanks,
Ingo
------------------>
Christian Loehle (1):
sched/uclamp: Fix unnused variable warning
Connor O'Brien (2):
sched: Add move_queued_task_locked helper
sched: Consolidate pick_*_task to task_is_pushable helper
David Disseldorp (1):
sched: remove unused __HAVE_THREAD_FUNCTIONS hook support
Dr. David Alan Gilbert (1):
sched/wait: Remove unused bit_wait_io_timeout
Huang Shijie (3):
sched/fair: remove the DOUBLE_TICK feature
sched/fair: optimize the PLACE_LAG when se->vlag is zero
sched/fair: fix the comment for PREEMPT_SHORT
Ingo Molnar (1):
fs/bcachefs: Fix __wait_on_freeing_inode() definition of waitqueue entry
Jisheng Zhang (1):
riscv: add PREEMPT_LAZY support
Johannes Weiner (1):
sched: psi: pass enqueue/dequeue flags to psi callbacks directly
John Stultz (1):
sched: Split out __schedule() deactivate task logic into a helper
Juri Lelli (2):
locking/mutex: Make mutex::wait_lock irq safe
locking/mutex: Expose __mutex_owner()
Mathieu Desnoyers (1):
sched: Improve cache locality of RSEQ concurrency IDs for intermittent workloads
NeilBrown (7):
sched: change wake_up_bit() and related function to expect unsigned long *
sched: Improve documentation for wake_up_bit/wait_on_bit family of functions
sched: Document wait_var_event() family of functions and wake_up_var()
sched: Add test_and_clear_wake_up_bit() and atomic_dec_and_wake_up()
sched: Add wait/wake interface for variable updated under a lock.
sched: add wait_var_event_io()
softirq: use bit waits instead of var waits.
Peter Zijlstra (7):
locking/mutex: Remove wakeups from under mutex::wait_lock
sched: Split scheduler and execution contexts
sched: Add TIF_NEED_RESCHED_LAZY infrastructure
sched: Add Lazy preemption model
sched: Enable PREEMPT_DYNAMIC for PREEMPT_RT
sched, x86: Enable Lazy preemption
sched: No PREEMPT_RT=y for all{yes,mod}config
Sebastian Andrzej Siewior (1):
sched, x86: Update the comment for TIF_NEED_RESCHED_LAZY.
Thomas Gleixner (2):
sched: Initialize idle tasks only once
sched/ext: Remove sched_fork() hack
Zhongqiu Han (1):
sched: idle: Optimize the generic idle loop by removing needless memory barrier
arch/riscv/Kconfig | 1 +
arch/riscv/include/asm/thread_info.h | 10 +-
arch/x86/Kconfig | 1 +
arch/x86/include/asm/thread_info.h | 6 +-
fs/exec.c | 2 +-
include/linux/entry-common.h | 3 +-
include/linux/entry-kvm.h | 5 +-
include/linux/mm_types.h | 72 +++++-
include/linux/preempt.h | 8 +-
include/linux/sched.h | 5 +-
include/linux/sched/ext.h | 1 -
include/linux/sched/task_stack.h | 2 +-
include/linux/thread_info.h | 21 +-
include/linux/wait_bit.h | 444 ++++++++++++++++++++++++++++-------
kernel/Kconfig.preempt | 27 ++-
kernel/entry/common.c | 2 +-
kernel/entry/kvm.c | 4 +-
kernel/fork.c | 2 +-
kernel/futex/pi.c | 6 +-
kernel/locking/mutex.c | 59 ++---
kernel/locking/mutex.h | 27 +++
kernel/locking/rtmutex.c | 51 ++--
kernel/locking/rtmutex_api.c | 12 +-
kernel/locking/rtmutex_common.h | 3 +-
kernel/locking/rwbase_rt.c | 8 +-
kernel/locking/rwsem.c | 4 +-
kernel/locking/spinlock_rt.c | 5 +-
kernel/locking/ww_mutex.h | 51 ++--
kernel/sched/core.c | 289 +++++++++++++++--------
kernel/sched/deadline.c | 57 ++---
kernel/sched/debug.c | 7 +-
kernel/sched/ext.c | 7 +-
kernel/sched/fair.c | 42 ++--
kernel/sched/features.h | 3 +-
kernel/sched/idle.c | 1 -
kernel/sched/pelt.c | 2 +-
kernel/sched/rt.c | 67 +++---
kernel/sched/sched.h | 155 ++++++++----
kernel/sched/stats.h | 29 ++-
kernel/sched/syscalls.c | 4 +-
kernel/sched/wait_bit.c | 90 ++++---
kernel/softirq.c | 14 +-
42 files changed, 1105 insertions(+), 504 deletions(-)
Powered by blists - more mailing lists