[<prev] [next>] [day] [month] [year] [list]
Message-ID: <aS14ZaStk4Kly1NI@gmail.com>
Date: Mon, 1 Dec 2025 12:13:41 +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>,
Tejun Heo <tj@...nel.org>, Valentin Schneider <vschneid@...hat.com>,
Shrikanth Hegde <sshegde@...ux.ibm.com>
Subject: [GIT PULL] Scheduler changes for v6.19
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-12-01
# HEAD: c04507ac500e2cc8048000c2a849588227554e06 sched: Provide and use set_need_resched_current()
Scheduler changes for v6.19:
Scalability and load-balancing improvements:
- Enable scheduler feature NEXT_BUDDY (Mel Gorman)
- Reimplement NEXT_BUDDY to align with EEVDF goals (Mel Gorman)
- Skip sched_balance_running cmpxchg when balance is not due (Tim Chen)
- Implement generic code for architecture specific sched domain
NUMA distances (Tim Chen)
- Optimize the NUMA distances of the sched-domains builds of Intel
Granite Rapids (GNR) and Clearwater Forest (CWF) platforms
(Tim Chen)
- Implement proportional newidle balance: a randomized algorithm
that runs newidle balancing proportional to its success rate.
(Peter Zijlstra)
Scheduler infrastructure changes:
- Implement the 'sched_change' scoped_guard() pattern for
the entire scheduler (Peter Zijlstra)
- More broadly utilize the sched_change guard (Peter Zijlstra)
- Add support to pick functions to take runqueue-flags (Joel Fernandes)
- Provide and use set_need_resched_current() (Peter Zijlstra)
Fair scheduling enhancements:
- Forfeit vruntime on yield (Fernand Sieber)
- Only update stats for allowed CPUs when looking for dst group (Adam Li)
CPU-core scheduling enhancements:
- Optimize core cookie matching check (Fernand Sieber)
Deadline scheduler fixes:
- Only set free_cpus for online runqueues (Doug Berger)
- Fix dl_server time accounting (Peter Zijlstra)
- Fix dl_server stop condition (Peter Zijlstra)
Proxy scheduling fixes:
- Yield the donor task (Fernand Sieber)
Fixes and cleanups:
- Fix do_set_cpus_allowed() locking (Peter Zijlstra)
- Fix migrate_disable_switch() locking (Peter Zijlstra)
- Remove double update_rq_clock() in __set_cpus_allowed_ptr_locked() (Hao Jia)
- Increase sched_tick_remote timeout (Phil Auld)
- sched/deadline: Use cpumask_weight_and() in dl_bw_cpus() (Shrikanth Hegde)
- sched/deadline: Clean up select_task_rq_dl() (Shrikanth Hegde)
Thanks,
Ingo
------------------>
Adam Li (1):
sched/fair: Only update stats for allowed CPUs when looking for dst group
Doug Berger (1):
sched/deadline: only set free_cpus for online runqueues
Fernand Sieber (3):
sched/fair: Forfeit vruntime on yield
sched/proxy: Yield the donor task
sched/core: Optimize core cookie matching check
Hao Jia (1):
sched/core: Remove double update_rq_clock() in __set_cpus_allowed_ptr_locked()
Joel Fernandes (1):
sched: Add support to pick functions to take rf
Mel Gorman (2):
sched/fair: Enable scheduler feature NEXT_BUDDY
sched/fair: Reimplement NEXT_BUDDY to align with EEVDF goals
Peter Zijlstra (29):
sched: Employ sched_change guards
sched: Re-arrange the {EN,DE}QUEUE flags
sched/deadline: Prepare for switched_from() change
sched: Fold sched_class::switch{ing,ed}_{to,from}() into the change pattern
sched: Cleanup sched_delayed handling for class switches
sched: Move sched_class::prio_changed() into the change pattern
sched: Fix migrate_disable_switch() locking
sched: Fix do_set_cpus_allowed() locking
sched: Rename do_set_cpus_allowed()
sched: Make __do_set_cpus_allowed() use the sched_change pattern
sched: Add locking comments to sched_class methods
sched: Match __task_rq_{,un}lock()
sched: Cleanup the sched_change NOCLOCK usage
sched: Mandate shared flags for sched_change
sched: Detect per-class runqueue changes
sched/ext: Fold balance_scx() into pick_task_scx()
sched/topology,x86: Fix build warning
sched: Fix the do_set_cpus_allowed() locking fix
sched/core: Add comment explaining force-idle vruntime snapshots
sched/eevdf: Fix min_vruntime vs avg_vruntime
sched/deadline: Fix dl_server time accounting
sched/deadline: Fix dl_server stop condition
sched/deadline: Document dl_server
sched/fair: Have SD_SERIALIZE affect newidle balancing
sched/fair: Revert max_newidle_lb_cost bump
sched/fair: Small cleanup to sched_balance_newidle()
sched/fair: Small cleanup to update_newidle_cost()
sched/fair: Proportional newidle balance
sched: Provide and use set_need_resched_current()
Phil Auld (1):
sched: Increase sched_tick_remote timeout
Shrikanth Hegde (2):
sched/deadline: Use cpumask_weight_and() in dl_bw_cpus
sched/deadline: Minor cleanup in select_task_rq_dl()
Tim Chen (3):
sched: Create architecture specific sched domain distances
sched/topology: Fix sched domain build error for GNR, CWF in SNC-3 mode
sched/fair: Skip sched_balance_running cmpxchg when balance is not due
arch/s390/mm/pfault.c | 3 +-
arch/x86/include/asm/topology.h | 2 +
arch/x86/kernel/smpboot.c | 70 +++++
include/linux/cleanup.h | 5 +
include/linux/sched.h | 33 ++-
include/linux/sched/topology.h | 3 +
kernel/cgroup/cpuset.c | 2 +-
kernel/kthread.c | 15 +-
kernel/rcu/tiny.c | 8 +-
kernel/rcu/tree.c | 14 +-
kernel/rcu/tree_exp.h | 3 +-
kernel/rcu/tree_plugin.h | 9 +-
kernel/rcu/tree_stall.h | 3 +-
kernel/sched/core.c | 400 +++++++++++----------------
kernel/sched/cpudeadline.c | 34 +--
kernel/sched/cpudeadline.h | 4 +-
kernel/sched/deadline.c | 336 ++++++++++++++++++----
kernel/sched/debug.c | 8 +-
kernel/sched/ext.c | 132 +++------
kernel/sched/fair.c | 600 +++++++++++++++++++++++++++++-----------
kernel/sched/features.h | 7 +-
kernel/sched/idle.c | 29 +-
kernel/sched/rt.c | 13 +-
kernel/sched/sched.h | 271 ++++++++++++++----
kernel/sched/stats.h | 2 +-
kernel/sched/stop_task.c | 13 +-
kernel/sched/syscalls.c | 87 ++----
kernel/sched/topology.c | 114 ++++++--
28 files changed, 1417 insertions(+), 803 deletions(-)
Powered by blists - more mailing lists