日期范围
231
全部讨论数
Bugfix重要分析 success作者:Hui Su2026/08/16 01:062 封邮件

[PATCH v3] cpufreq: schedutil: Fix rate limit overflow

schedutil governor 把 rate_limit_us 与 NSEC_PER_USEC 相乘得到 freq_update_delay_ns,但在 32 位平台上整段按 32 位无符号算术执行,会把约 4.29 s 的延迟溢出成 704 ns,导致频率更新失控。补丁抽出 sugov_update_rate_limit_us() 在乘法前显式扩到 s64,在 sysfs 写入与 governor 启动两条路径上一并修复,并 Fixes 引入该问题的 9bdcb44e391d、抄送 stable。Rafael 作为 cpufreq maintainer 已加入对话。

lore
其它重要分析 success作者:Xin Zhao2026/08/15 19:0411 封邮件

[PATCH 10/10] sched/fair: Strive to find a task to migrate if newly idle when LB_PROMOTE

Xin Zhao 提交的 10-patch 系列引入新的 SCHED_FEAT 开关 LB_PROMOTE,针对嵌入式平台(CONFIG_HZ_250)上 CFS 任务出现的不合理 CPU idle(>2.5ms 甚至 >4ms)问题,从 wake-up CPU 选择、newly idle 兜底、CFS 被 RT 抢占迁移三个场景主动出击。配套包含 rd overload 误清零、active_balance 清零时机、active_load_balance_cpu_stop 通用化等前置修复。默认关闭,开启后以 sys% 上升换取 ≤4ms 的调度延迟保证。

lore
Bugfix重要分析 success作者:Vincent Guittot2026/08/15 03:3611 封邮件

[PATCH] sched/fair: Fix flat hierarchy

EEVDF 引入 flat hierarchy 后,update_curr 走的是 cgroup 层级上的 h_curr,不会真正刷新 root cfs_rq 的 avg_vruntime,导致入队/出队时 short task 的 lag 一直累积到 clamp 上限。Vincent 首发补丁在 enqueue/dequeue 入口补一次 update_curr;维护者 Peter Zijlstra 评审后抽成 update_curr_eevdf 内联函数,并清理掉 requeue_delayed_entity 的重复调用,最终合入 tip 的 sched/core。

lore
Bugfix重要分析 success作者:tip-bot2 for Vincent Guittot2026/08/15 03:361 封邮件

[tip: sched/core] sched: Update time before requeueing delayed entities

Vincent Guittot 给 CFS 的 requeue_delayed_entity() 加上 update_curr(cfs_rq) 调用,确保 update_entity_lag() 在计算 delayed 任务的等待补偿时使用的是当前时间而非陈旧的 clock_task。少了这一行,delayed entity 会被误判为更年轻、得到更少的 vruntime 补偿,是一个隐蔽的公平性 bug。改动只有 1 个文件 +2 行,已被 Peter Zijlstra 合并进 sched/core。

lore
Bugfix分析 success作者:Fengyu Wang2026/08/14 23:543 封邮件

[PATCH v2] sched/topology: Free NUMA masks on topology allocation failure

修复 sched_init_numa() 在 sched_domain_topology_level 数组分配失败时未释放 sched_domains_numa_masks 的内存泄漏。v2 把 rcu_assign_pointer() 从 kzalloc 之前挪到之后,让错误路径上的 masks 从未被发布,避免了 v1 中 rcu_assign_pointer(NULL) + synchronize_rcu() 的复杂撤回逻辑。Tim Chen 给出反馈促使 v2 重写,Valentin Schneider 给出 Reviewed-by。

lore
Bugfix分析 success作者:K Prateek Nayak2026/08/14 22:452 封邮件

[PATCH] sched/topology: Do not override sd->shared allocation

针对 commit 9e005ed21152d 引入的 kmemleak,在 init_sched_domain_shared() 入口加 sd->shared 非空判断早返回,避免 SD_ASYM_CPUCAPACITY 与 SD_SHARE_LLC 落到同一 domain 时后一次覆盖前一次的 sched_domain_shared。同时顺手把注释里 avaialable 改成 available。

lore
Bugfix分析 success作者:monios1145142026/08/14 21:572 封邮件

[PATCH] sched/topology: fix memory leaks in allocation failure paths

patch 修复 sched_init_numa / __sdt_alloc / __sds_alloc 三个分配失败路径的内存泄漏,统一采用 goto fail + __sdt_free/__sds_free 集中清理。0day 用 clang -Wself-assign 抓到 for (i = i; ...) 的自赋值写法,需要在 v2 换循环变量后再提。

lore
其它分析 success作者:Ziyang Men2026/08/14 04:245 封邮件

[PATCH 0/2] cgroup, sched: add bpf for cgroup cpu controller

Ziyang Men 提交一个 2 patch 系列,为 cpu cgroup 暴露三个 BPF kfunc:bpf_cpu_cgroup_flush_stats、bpf_cpu_cgroup_cputime、bpf_cpu_cgroup_throttled_self,沿用 mm/bpf_memcontrol.c 的 memcg 设计思路。cputime 内部用一次 __css_rstat_lock + cputime_adjust 算齐全部基础 CPU 时间,节流总和由内核通过去除 static 的 throttled_time_self() 提供。配套 selftests/bpf 验证 B...

lore
Bugfix分析 success作者:Sebastian Andrzej Siewior2026/08/14 00:516 封邮件

[PATCH] sched/topology: Add a cpus_read_lock to partition_sched_domains()

该单 patch 修复 sysctl 写 sched_rt_runtime_us 时触发 "missing cpu_hotplug_lock" 回溯告警的问题:在 partition_sched_domains() 入口加 guard(cpus_read_lock)()。Chen Yu 与 Tim Chen 在回复中讨论是否应将锁下推到 CONFIG_CPUSETS=n 下的 rebuild_sched_domains() 等 stub 调用方,以与历史约定 "Call with hotplug lock held" 保持一致。

lore
Bugfix重要分析 success作者:John Stultz2026/08/13 22:4021 封邮件

[RESEND][PATCH v31 0/9] Sleeping Owner Handling for Proxy Execution (v31)

John Stultz 提交 Proxy Execution 大系列的第 5 段——Sleeping Owner Handling v31,主 patch 在 find_proxy_task() 中处理 owner 睡眠时的 donor 挂起与唤醒整体激活。合入 DL yield、donor 偷取、cookie 锁、nr_iowait、sched_ext ENQUEUE_PROXY 等 7 个修复。回复集中在 DL boosted 判定、sched_ttwu_pending 重复激活、blocked_lock 注解正确性等细节,整体仍是 Proxy Execution 迈向合入的关键里程碑。

lore
Bugfix分析 success作者:Waiman Long2026/08/13 18:385 封邮件

[PATCH v4] sched/isolation: Defer freeing of cpumask memblock memory to initcall

带 nohz_full 启动时,housekeeping_init() 在 memory map 尚未初始化前调用 memblock_free(),触发 mm/memblock.c 的新告警。补丁把待释放的 cpumask 直接当作 llist_node 串入 __initdata 链表,改由新增的 pure_initcall housekeeping_late_init() 统一 memblock_free()。仅改 15 行,依赖 memblock 的 7c2eee9c1367 以避免 KASAN UAF,已由 Peter Zijlstra 合入 tip:sched/core(2b58c7...

lore
Bugfix重要分析 success作者:soolaugust2026/08/13 12:0917 封邮件

[PATCH] sched/proxy_exec: Limit find_proxy_task() chain depth to prevent CPU hang

Proxy execution 下两个任务互相等待对方 mutex 会让 find_proxy_task() 在 blocked_on 链上无限循环,CPU 持 rq->lock spin 死。补丁用 rq 上的 proxy_pick_seq 给每次 walk 打唯一标记,重复走到同一节点时清掉 blocked_on 并 deactivate 该任务,从 v1 深度上限演进到 v5 的 per-pick seq 标记,能识别链中任意位置的循环(A→B→C→A),是 PE 走向 futex 之前的必修课。

lore
其它重要分析 success作者:Bharata B Rao2026/08/13 10:2140 封邮件

[PATCH v8 0/8] mm: Hot page tracking and promotion infrastructure

Bharata B Rao 第 8 版提交 pghot 子系统,把 NUMA hint fault、AMD IBS Memory Profiler 以及未来 CXL HMU 等热页来源统一到 per-PFN hotness 记录与 per-node kmigrated 线程,并把 kernel.numa_balancing=2 的 tiering 路径从 scheduler 迁到 mm。Andrew Morton、Matthew Wilcox、SJ Park、D. Hildenbrand 等 maintainer 提出与 DAMON 重叠、diffstat 过大、未拿到任何 Acked-by ...

lore
其它分析 success作者:Kayra Cizmeci2026/08/12 23:101 封邮件

[PATCH] sched/fair: Avoid calculating curr's key twice in pick_eevdf()

本 patch 把 pick_eevdf() 中 entity_eligible()→vruntime_eligible() 这条路径里重复的 entity_key(cfs_rq, curr) 减法抽成新的 curr_eligible(),让 vruntime - min_vruntime 只算一次。无功能变化,仅做 micro-cleanup,把 curr!=NULL/on_rq 的不变量交给 caller。建议补 WARN_ON_ONCE 与 micro-bench 以便 review。

lore
其它重要分析 success作者:Boqun Feng2026/08/12 19:1839 封邮件

[PATCH v5 00/18] Refcounted interrupt disable and SpinLockIrq for Rust

Boqun Feng 主推的 v5 18 贴系列把 preempt_count 中的 NMI 嵌套迁到 per-CPU 计数器,腾出 8 bit 给新的 HARDIRQ_DISABLE 计数器,并在 64-bit 架构把 PREEMPT_NEED_RESCHED 拆到独立字。系列在 C 端新增 local_interrupt_disable/enable 以及 spin_lock_irq_disable / spin_unlock_irq_enable 三件套,并附 KUnit 测试;在 Rust 端引入 kernel::interrupt 模块的 LocalInterruptDisabled...

lore
Bugfix重要分析 success作者:Hui Su2026/08/12 17:433 封邮件

[PATCH] sched/deadline: Fix DL server initialization for initially offline CPUs

提交 9f239df55546 把 DL server 初始化挪到 sched_init_smp() 时假设所有 CPU 都已 online,导致 maxcpus= 等场景下后上线 CPU 的 fair_server 与 ext_server 永远停在 runtime=0、period=0,fair 任务被高优先级任务完全饿死。本 patch 改用 for_each_possible_cpu() 遍历所有 CPU,仅在 CPU 已 online 时才 update_rq_clock 和 setup_new_dl_entity,并把根域带宽记账延后到 CPU 真正 active 后再做,避免给 ...

lore
Bugfix分析 success作者:lirongqing2026/08/12 15:283 封邮件

[PATCH v2] sched/debug: reject invalid writes to numa_balancing scan_size_mb

该 patch 用 debugfs 自定义 file_operations 替换 debugfs_create_u32,对 numa_balancing/scan_size_mb 的写入做范围校验,避免 0 与超过 UINT_MAX 的值触发 task_scan_min 与 task_nr_scan_windows 的除零。v1 到 v2 把 debugfs_create_file 换成 debugfs_create_file_unsafe 省去 full_proxy,并重写 commit message。后两封同作者的答复只是 ping 维持邮件,没有新内容。

lore
Bugfix重要分析 success作者:Lu Wang2026/08/12 00:1020 封邮件

[PATCH] sched/cache: honor migrate_llc_task semantics in active load balance

Lu Wang 修复 cache-aware scheduling 中 active load balance 丢失 migrate_llc_task 语义的 bug:被动 LB 把 group_llc_balance 标成 migrate_llc_task 后,CPU stopper 重建的 lb_env 默认成 migrate_load,导致 ALB 在 src_rq 上多任务场景可能把 preferred LLC 与目标 LLC 不匹配的任务错误拉走。v2 通过挑选 stopper 回调 + 新增 LBF_ACTIVE_LB_LLC 标志,把 LLC 方向判断透传到 ALB 路径,同时避...

lore
其它重要分析 success作者:Madadi Vineeth Reddy2026/08/11 13:4111 封邮件

[PATCH] sched/fair: Let sync wakeups target the waker's core

补丁在 select_idle_core() 中识别“waker 即将 sleep 且 rq 仅剩它自己”的状态,把 waker 的 CPU 视为 idle,使得 SMT 上 wakee 能落到 waker 核的兄弟线程,复用 cache 又避免 stacking。讨论中 Prateek 与 Chen Yu 提出上提到 select_idle_sibling() 或抽出 select_idle_sync_core() 的重构方案,x86 Zen 3 上 Kayra 的测试显示 cycles 下降 1.40% 但 cache-misses 上升 4.60%,收益高度依赖 SMT 编号方式。

lore
Bugfix重要分析 success作者:Aaron Tomlin2026/08/11 09:3410 封邮件

[PATCH v4 0/5] sched/debug: Introduce per-CPU debugfs files

Aaron Tomlin 发送 v4 系列补丁,修补 sched debugfs 中 print_dl_rq() 的 rq->rd UAF、print_cpu() 的 rq->curr UAF、sched_show_numa() 的 p->mm TOCTOU、print_cfs_stats() 的 leaf_cfs_rq_list RCU 遍历违规,并新增 /sys/kernel/debug/sched/cpu/cpu<N>/debug 按 CPU 视图。评审集中在 Patch 1/5 上,Prateek 与 Aaron 讨论了 rcu_dereference_all() 与 __rcu 注解...

lore
每页
上一页5 / 12下一页