日期范围
159
全部讨论数
其它分析 success作者:Liang Hao2026/08/18 23:191 封邮件

[PATCH] sched/hrtick: Name the minimum slice and derive the rearm slack

本 patch 把 hrtick 子系统中硬编码的 10000ns floor 与 5000ns rearm 阈值抽成两个命名宏,并显式把余量定义为最小切片的一半,仅提升可读性、不改变行为。作者本人也提出疑问:5us 阈值当年是否刻意作为 10us 的一半引入,等维护者澄清历史语义后再决定是否合入。

lore
其它重要分析 success作者:Luo Gengkun2026/08/18 22:424 封邮件

[PATCH v9 1/2] sched/cache: Reduce the overhead of task_cache_work by only scan the visisted cpus

本系列补丁为 cache-aware scheduling 引入 visited_cpus cpumask,让 task_cache_work() 只扫描最近真正访问过的 CPU,把多 NUMA 系统中的扫描 CPU 数从 384 降到 16 左右,Redis p99 延迟下降约 25%。Chen Yu C 在 review 中进一步指出单线程进程 visited_cpus 位累积以及跨 NUMA 抖动两个潜在风险,作者倾向于不加 gate。

lore
RFC重要分析 success作者:Vlastimil Babka (SUSE)2026/08/18 19:404 封邮件

[PATCH RFC 0/5] allow kfree_nolock() handle kmalloc() objects

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...

lore
Bugfix分析 success作者:Eric Kim2026/08/18 11:491 封邮件

[PATCH v3] sched/fair: Reset NUMA fault locality after scan period update

Eric Kim 的 v3 patch 修复 update_task_scan_period() 在 period==0 分支提前 return 导致 numa_faults_locality 未被清零的 bug。原代码会让上一窗口的旧 locality 反复被计入下一个窗口,触发 numa_scan_period 持续翻倍直至 numa_scan_period_max,把 task 永久冻结在错误 NUMA 节点。修复方法是把 return 改为 goto out,强制所有退出路径都走尾部 memset cleanup。v2 已按 Peter Zijlstra 建议复用 out 标签,v3 ...

lore
其它重要分析 success作者:shisiyuan2026/08/17 22:543 封邮件

[PATCH] sched/psi: add cpu_prio pressure metric for high-priority task stalls

该补丁在 PSI 中新增 cpu_prio 资源,只统计静态优先级不高于阈值的任务等待 CPU 的时长,以隔离延迟敏感负载的争用信号。维护者 Peter Zijlstra 直接回 Yeah, I think not. 拒绝,Michal Koutny 进一步指出把目标任务放进独立 cgroup 后读取 cpu.pressure 已经能做到同样效果,因此没有继续迭代。

lore
RFC重要分析 success作者:Xukai Wang2026/08/16 13:174 封邮件

[PATCH RFC v2] sched/proxy: Defer donor commit until proxy resolution

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 要...

lore
Bugfix重要分析 success作者:Hui Su2026/08/16 01:061 封邮件

[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:451 封邮件

[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:571 封邮件

[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作者:Waiman Long2026/08/13 18:382 封邮件

[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:092 封邮件

[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:219 封邮件

[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:1820 封邮件

[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
每页
上一页7 / 8下一页