From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9F391306B33 for ; Mon, 1 Dec 2025 11:13:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764587627; cv=none; b=rda8vhdy445tD6SWY9EpQ9SoLuDDzqc/0zyWjQNK1j310wnWWjcAIgvyhSACDNQH4lqp+reOF16WBex7/lhi7UyNER9l/fSWx4A7znsdb9oU74qqh45tIxsNlRwK49dn6AdTWcaa738Xm1RR/3Vmft0ISLn7Q+FS8RFSCUUTLI0= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764587627; c=relaxed/simple; bh=Or28160BtRsHdjmsdn2r96FWCgd2CC+MraL9AfMmE5s=; h=Date:From:To:Cc:Subject:Message-ID:MIME-Version:Content-Type: Content-Disposition; b=XpUWDlLvWcuaIJTeucKMYaAE7VDShHnQYdKprIRLNcSFSLUAAu4t6dLkPj4eghjGFNZPPcw/6QfLZWN9t/+gIi9upwIqPC6fczgFoJksptJCc9rT6j81aTmay8kkMzY6nmZ6K6lgMOya9nAgoF41XiulsmkE8e3Z/CwQ8xzeV+w= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=bgbeIQqz; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="bgbeIQqz" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 592A2C4CEF1; Mon, 1 Dec 2025 11:13:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1764587627; bh=Or28160BtRsHdjmsdn2r96FWCgd2CC+MraL9AfMmE5s=; h=Date:From:To:Cc:Subject:From; b=bgbeIQqzyDVCnpol3s6bsTPa+vrBF5OYOEpLdOGqlpMSFj2fvqTCIQIYJ7iLXV4wT cFEZS7YU+VEvhHfxsf0gK1JuAYjEFfsYlz5u9892vJ0Mdvr+QV3EllE7fD0YDSh2im 5C/OwHWmsfMU0eF5Wp5aS3xGRGfTEP8z4vjq6rLh5nWSwL2cmRQFooP1RAAxaAf9DA bB/FRTWeXr0/ZAaZ0L1faJTf6xk/NKlOUgyGk8Td3gNDyN4mze52plNeEXSPuSYiJ5 tZoM9R8Uv8V4yLyM5AVQVj0GovYetFNzWDHfiq/eTgZitKJ4yciHMade/sq7NYYA/M HX/GKT87WoXmw== Date: Mon, 1 Dec 2025 12:13:41 +0100 From: Ingo Molnar To: Linus Torvalds Cc: linux-kernel@vger.kernel.org, Peter Zijlstra , Thomas Gleixner , Juri Lelli , Vincent Guittot , Dietmar Eggemann , Steven Rostedt , Mel Gorman , Tejun Heo , Valentin Schneider , Shrikanth Hegde Subject: [GIT PULL] Scheduler changes for v6.19 Message-ID: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline 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(-)