[PATCH v12 00/13] sched, steal_governor: Introduce preferred CPUs and steal-driven vCPU backoff
sched, steal_governor: Introduce preferred CPUs and steal-driven vCPU backoff。Claude 分析失败,当前使用规则 fallback:该讨论被归为 rfc,共 17 封邮件。
北京时间 2026-06-10 至 2026-09-07
最近同步:2026/09/07 21:14
sched, steal_governor: Introduce preferred CPUs and steal-driven vCPU backoff。Claude 分析失败,当前使用规则 fallback:该讨论被归为 rfc,共 17 封邮件。
本 RFC 把 RV 工具从只能管理内核内置 monitor 扩展为可加载 BPF monitor:通过 BPF struct_ops 把 monitor 接入 tracefs,用 ringbuf 回传 trace 事件,并扩展 rvgen 与 selftest 支持模板生成与端到端验证。共 20 个补丁、约 2770 行新增,已得到 sashiko AI 评审若干改进意见,并引发 Rostedt、Starovoitov、Glozar 等多轮 maintainer 讨论。
wifi: cfg80211: validate IEs in cfg80211_wext_siwgenie()。Claude 分析失败,当前使用规则 fallback:该讨论被归为 rfc,共 780 封邮件。
Shubhang Kaushik 提交 2 个 RFC 补丁,为 fair-class 下 WF_SYNC 的 CPU 选择与唤醒抢占行为新增完整文档,并修正 kernel/sched/wait.c 中"同步 wakee 不会被迁移"的错误注释。本系列不改调度行为,仅把 WF_SYNC 明确定位为非绑定 hint,列出 wake_affine()、select_idle_sibling()、preempt_sync() 实际可打破该承诺的所有路径。
本系列(v2,23 个 patch)把 cache-aware 调度的聚合范围从一个 LLC 扩展到多个 LLC,通过去重 NUMA/intra-node LLC 距离矩阵构造 affinity sequence,并基于 affinity score 与线程组整体利用率估算决定扩展深度。同时把 NUMA balancing 拆分为 task migration 与 page migration 两个可独立开关的子特性,以解除与 cache-aware 调度的迁移冲突。整体改动覆盖拓扑基础设施、per-CPU 偏好统计、load balance 决策路径与 sysctl 接口。
David Stevens 提出 10 patch RFC,在任务进入安全阻塞时回收未使用的 vmap 栈页,通过 list_lru shrinker 异步释放并按需 repopulate,可在 Android 多任务场景降低 50% 栈内存。维护者 Peter Zijlstra 与 Sebastian Siewior 强烈质疑方案动机(线程数才是根本)、pi_lock 下不能调分配、PREEMPT_RT 不适用以及 tracepoint 位置;v1 需要重写 fast path、合并 mlock/PREEMPT_RT 例外,并修掉 memcg 泄漏与 NUMA 旁路问题。
Tim Chen 提出一个 7 补丁 RFC,把 sched_cache_group 从 mm_struct 中解耦为独立的引用计数对象,通过新的 prctl(PR_SCHED_CACHE) 暴露 GET/CREATE/SHARE_FROM/DISABLE/ENABLE 子操作,让跨进程协作的工作负载能显式把若干任务放到同一 LLC 聚合组。系统级策略从 debugfs 布尔扩成 always/advise/never 三态,与每组 enabled 字段按 THP 模式组合。Peter Zijlstra 询问真实使用场景,Chen Yu 给出腾讯 KV-cache 等云上内存密集负载的反馈作为...
K Prateek Nayak 提出对 PROXY_EXEC 中 sleeping-owner 处理的替代 RFC,把 donor 唤醒与 owner 链唤醒的竞争放到 ttwu_runnable() 路径上处理,union 化 on_rq/is_linked 为 needs_rq_sync,让 chain-wakeup 在单 rq_lock 下批量完成。16 个 patch 拆出 fixes、blocked-head 维护、MIGRATING 改造、链唤醒主体以及 mutex 端 lock_nesting 计数;thread 中 Andrea Righi 对若干命名、slow-path 注释...
本 RFC patch 把 pick_next_task 的'选中'与'提交'解耦:pick 只挑候选,__schedule 在 find_proxy_task 解析完 proxy 链后再做 put_prev_set_next_task 与 rq_set_donor,避免 proxy 解析失败时白白做一次 put_prev/set_next。临时计数显示 60 秒压力测试中 3224 次 NULL 重试里没有任何一次重选回同一 donor,证明原先的 commit 几乎总是浪费。补丁同时修正了 proxy_resched_idle / proxy_deactivate / proxy_migr...
本 RFC 提案把 include/linux/sched.h 内联 migrate_{en,dis}able() 访问 rq->nr_pinned 时所用的 generated offset 路径替换为简单的 per-CPU 计数器 rq_nr_pinned:写端用 __this_cpu_inc/dec,读端用 per_cpu_ptr()+READ_ONCE。作者据此删除 kernel/sched/rq-offsets.c、相关 Kbuild 规则以及 sched.h 对 generated header 的 include。整体净减约 47 行,类型安全回归,行为不变。
RFC 系列包含两个补丁:一是在 KVM x86 的 record_steal_time() 中,把 stealtime 的发布时机提前到清 preempted 之前并补 smp_wmb();二是在 guest 的 update_rq_clock_task() 中,对远端 rq 且 vcpu_is_preempted() 为真时把 clock_task delta 暂存到新增的 rq->deferred_clock_task,等 vCPU 不再被抢占时再一次性折回。作者用 host 端 chrt -f 90 制造 10s 抢占 + guest 内 5 个 pinned 线程,修复前出现 49....
Joshua Hahn 提出一套 14 patch 的 RFC,把 memory.{min,low,high,max} 在每个内存层级(DRAM/CXL/PMEM 等)按系统容量比例缩放,从而防止先到的 cgroup 独占高速层。在 1TB 双层机器上的测试显示,多 workload 在 DRAM/CXL 上的占用极差从 7.10x 降到 1.06x,作业完成时间极差从 54.9s 降到 26.1s。Song Hu 另指出 calculate_high_delay() 存在 pre-existing 整数溢出,建议作独立 fix。
Vlastimil Babka 发布5 patch RFC,把 kfree_nolock() 从只能释放 kmalloc_nolock() 对象扩展为可释放任意 kmalloc() 对象(含 kfence、kmemleak 注册对象、large_kmalloc),必要时通过 irq_work 延迟释放。调度器据此把 set_cpus_allowed_force() 中的 kfree_rcu() 替换为 kfree_nolock(),避免 RCU grace period 延迟。Hao Li 给出 Reviewed-by;Catalin Marinas 对 kmemleak 扫描期间 defer...
Xukai Wang 提议把 pick_next_task() 的类提交语义(put_prev_set_next_task + rq_set_donor)推迟到 __schedule() 中 find_proxy_task() 解析成功之后执行,避免 proxy 解析失败时对 blocked donor 的投机性 set_next 与撤销。v2 同时把 zap_balance_callbacks() 收回 proxy_resched_idle(),并把候选与已提交 donor 在 proxy_deactivate / proxy_migrate_task 中显式区分。John Stultz 要...
针对 epoll 同步唤醒 (commit 900bbaae67e9) 在 NUMA 系统上造成单节点过载的回归,Vinicius Costa Gomes 提交 RFC,在 wake_affine_idle 与 wake_affine_weight 的 sync 分支新增 sched_llc_over_commited 检查:当 waker LLC 已无空闲且比 prev LLC 更忙时拒绝 stack,转走常规负载均衡。memcached 96x32 下 p90/p99 改善 50% 以上,但 64x32 下吞吐 -3.4%、p99.9 +6.7%。patch 内置 FIXME 提示 NO_...
platform/x86/intel-uncore-freq: Fix current_freq_khz after CPU hotplug。Claude 分析失败,当前使用规则 fallback:该讨论被归为 rfc,共 768 封邮件。
Oleg Nesterov 发 RFC PATCH 0/1,建议把代码里与 CONFIG_PROC_SYSCTL 等价的 CONFIG_SYSCTL 宏统一替换,因为 61a47c1ad3a4 已删除 sysctl 系统调用,两个选项只剩语义重复。patch 由两条 perl one-liner 生成,触 170 文件;Oleg 征询 Andrew Morton / Eric 意见是否值得进 -mm,并摆出反向(删 CONFIG_PROC_SYSCTL)的小改动方案。Alexey Gladkov 回复支持统一,认为 syscall 移除后只剩 /proc/sys 一条路径,去重有意义。
作者 Guopeng Zhang 提交一个三 patch RFC 系列,处理 suspend 期间 primary CPU 被 isolcpus 排除出 HK_TYPE_DOMAIN 后 freeze_secondary_cpus() 留下空 housekeeping mask 导致空 span 警告和 GPF 的问题。系列引入 freeze transaction 状态保留 user_cpus_ptr、在 fallback mask 为空时退到 task_cpu_possible_mask()、并让 cpuset_reset_sched_domains 在无 active HK_TYPE_D...
bpf, arm64: Reject out-of-range B.cond targets。Claude 分析失败,当前使用规则 fallback:该讨论被归为 rfc,共 1004 封邮件。
smb/server: do not require delete access for non-replacing links。Claude 分析失败,当前使用规则 fallback:该讨论被归为 rfc,共 1000 封邮件。
7.1.5-rc1 review。Claude 分析失败,当前使用规则 fallback:该讨论被归为 rfc,共 999 封邮件。
nvme-pci: DMA unmap the correct regions in nvme_free_sgls。Claude 分析失败,当前使用规则 fallback:该讨论被归为 rfc,共 999 封邮件。
Paul E. McKenney 联合 Mathieu Desnoyers 投递 24 patch 的 RFC v2,在内核里实现 hazard pointer,提供比 RCU 更快的安全对象回收路径。核心包括每 CPU 4 槽加溢出链表的 hazptr_acquire/release、跨上下文 hazptr_detach、CONFIG_HAZPTR_DEBUG 误用检测,以及 hazptrtorture 跨任务/IPI 压测模块。v2 相比 v1 新增 detach API 与所有权问题修复,整体目标是征求设计与正确性方面的反馈。
作者 Xukai Wang 提交 RFC v1,把 pick_next_task() 从「边选边 commit」改为「只挑不 commit」,让 __schedule() 在 find_proxy_task() 解析成功后才做唯一的 class commit,避免把最终不运行的 blocked donor 投机性切换到 class current state。patch 同步更新 proxy_deactivate() 与 proxy_migrate_task() 的 rq->donor 处理。AMD 的 K Prateek Nayak 持保留意见,认为锁内 pick 会收敛到同一 donor、...
K Prateek Nayak 提出 RFC:在 EEVDF pick_eevdf() 唤醒抢占路径上保护正在运行的 curr 任务,避免因带正 lag 的唤醒任务拉低 avg_vruntime 导致 NGINX 等服务被频繁非自愿抢占。新增 RUN_TO_PARITY_WAKEUP sched_feat,仅当 curr 自选中起尚未耗尽 slice 时跳过 eligibility 检查。DeathStarBench 吞吐恢复至 v6.5 水平。Peter、Youssef 等围绕图示、base_slice_ns 是否已足够、是否在所有路径禁用 eligibility 展开讨论;2026 年 C...