日期范围
231
全部讨论数
RFC分析 success作者:Shubhang Kaushik (Ampere)2026/08/26 12:403 封邮件

[RFC PATCH 0/2] sched: Document WF_SYNC wakeup placement semantics

Shubhang Kaushik (Ampere) 提交 2 补丁 RFC,新增 Documentation/scheduler/sched-wake-affinity.rst,完整描述 WF_SYNC 在 fair class 中从 try_to_wake_up() 经 select_task_rq_fair()、wake_affine()、select_idle_sibling() 到 preempt_sync() 的真实行为。同时修正 kernel/sched/wait.c 中声称同步唤醒的 wakee 不会被迁移到其他 CPU 的过期注释。系列不改变调度器行为,只把 WF_SYNC 定...

lore
Bugfix重要分析 success作者:Shubhang Kaushik (Ampere)2026/08/26 12:003 封邮件

[PATCH] sched/fair: Restart hrtick after same-task repicks

补丁针对 fair hrtick one-shot 在 hrtick 到期引发 reschedule 后,pick_task_fair 又选中当前任务、命中 next == prev 时跳过 set_next_task_fair() 的窗口,通过在 task_tick_fair 中标记 rq->hrtick_rearm_fair,并在 put_prev_set_next_task 的 fast path 重新调 hrtick_start_fair() 修复漏启动。micro-bench 显示 8ms+ runtime 区间从 228 降到 34-38,但 reviewer Zhan Xushe...

lore
Bugfix重要分析 success作者:Zhe Liu2026/08/26 11:005 封邮件

[PATCH 0/2] sched/fair: Reset incompatible burst on quota change

CFS bandwidth controller 在 cgroup 处于 unlimited quota 时预设的 burst 会让后续有限 quota 写入返回 EINVAL。v1 通过在写路径里清零不兼容的 burst 解决顺序耦合问题,并补充 cgroup v2 selftest 与文档。Michal Koutný 指出这会丢失用户配置值,建议改为 clamp,Zhe Liu 接受并预告 v2 将放宽 tg_set_bandwidth 校验、把 clamp 下放到 __refill_cfs_bandwidth_runtime,让 quota/burst 写入彻底顺序无关。

lore
Bugfix重要分析 success作者:Aaron Tomlin2026/08/26 05:488 封邮件

[PATCH v6 0/6] sched/debug: Introduce per-CPU debugfs files

Aaron Tomlin v6 系列同时引入 /sys/kernel/debug/sched/cpu/cpu<N>/debug 每 CPU debugfs 接口与 RCU 内存安全修复。Patch 1 给 rq->rd 加 __rcu 注解并更新所有 lockless reader;Patch 2-3 用 rcu_assign_pointer/rcu_dereference/guard(rcu) 修复 print_dl_rq() 与 print_cpu() 的 UAF;Patch 4 用 task_lock 修复 sched_show_numa() 的 TOCTOU;Patch 5 引入 fo...

lore
Bugfix重要分析 success作者:Christian Loehle2026/08/26 01:586 封邮件

[PATCH] sched/cpufreq: Reevaluate frequency before tickless idle

Christian Loehle 提出在 cpuidle 真正把 tick 切到 stopped 的瞬间补一次 cpufreq 更新,并新增 SCHED_CPUFREQ_IDLE 标志让 schedutil 绕过 rate-limit 强制刷新频率。补丁修复了 UCLAMP_MIN 在 idle 时维持高频、tickless 期间 WFI 持续高电压的能耗问题。后续回复者 Hongyan Xia 与 Vincent Guittot 的具体意见需要等 v2 才能确认。

lore
Bugfix重要分析 success作者:Aaron Tomlin2026/08/26 00:318 封邮件

[PATCH v5 1/6] sched: Annotate rq->rd with __rcu and update lockless readers

本系列(v5)由 Aaron Tomlin 提交,共 6 个 patch,旨在修复 scheduler debugfs handlers 中的内存安全问题(rq->rd 缺 __rcu 注解、print_dl_rq() 的 dl_bw UAF、print_cpu() 的 task_struct UAF、sched_show_numa() 的 mm_struct TOCTOU、print_cfs_stats() 的非 RCU 链表遍历),同时在 /sys/kernel/debug/sched/cpu/cpu<N>/debug 引入 per-CPU debugfs 文件以支撑大 SMP 拓扑下的单...

lore
Bugfix重要分析 success作者:syzbot2026/08/25 21:374 封邮件

Re: [syzbot] [mm?] BUG: sleeping function called from invalid context in kvm_mmu_notifier_invalidate_range_start

David Woodhouse 在 dwmw2/linux.git 的 seb-nonblock-rt-test 分支提交 sched: Allow sleeping spinlocks on PREEMPT_RT,修复 syzbot 报告的 KVM MMU notifier 在 PREEMPT_RT 下 sleeping function called from invalid context 问题。前两次 syzbot 因克隆协议写错(https/http)拉取失败,第三次改用 git:// 后成功,reproducer 不再触发问题。

lore
其它重要分析 success作者:Byungchul Park2026/08/25 21:19107 封邮件

[PATCH v19 00/40] DEPT(DEPendency Tracker)

Byungchul Park 提交 DEPT (DEPendency Tracker) v19 共 40 个 patch。该框架通过追踪 wait/event 三元组构建事件依赖图,捕获 folio_lock、wait_for_completion、dma-fence、RCU 等不被 lockdep 覆盖的同步原语间的死锁。本期新增 proc 依赖图接口、外部 wgen 机制以支持 PG_locked 跟踪,并配合 CONFIG_DEPT_AGGRESSIVE_TIMEOUT_WAIT 区分 timeout 环。v19 rebase 到 v7.0、文档迁入 dev-tools/,并处理了 sy...

lore
Bugfix分析 success作者:Jianyong Wu2026/08/25 21:056 封邮件

[PATCH] sched/fair: Only apply cpufreq pressure where frequency is invariant

Jianyong Wu 提单 patch 修复 get_actual_cpu_capacity() 在非 frequency-invariant 架构上错误应用 cpufreq pressure 的问题,根因被追溯到 d2d5c129d07e 的 cpuinfo.max_freq 回退逻辑。作者本人在回复中承认原 commit message 解释不正确,真正问题更可能在 cpufreq 侧。Vincent Guittot 和 Hongyan Xia 跟进讨论但作者尚未发 v2。

lore
Bugfix重要分析 success作者:syzbot2026/08/25 20:385 封邮件

[syzbot] [mm?] BUG: sleeping function called from invalid context in kvm_mmu_notifier_invalidate_range_start

syzbot 多次在 RT 内核上抓到 oom_reaper 在持有 mmap_lock reader 锁时调用 cond_resched(),被 __might_resched() 误报为非法上下文睡眠。配套补丁给 __might_resched() 增加一个 bool rt_sleeping_lock 形参,让所有 cond_resched*() 显式传入 false,未来由 RT sleeping lock 路径传入 true,从而既放过合法调度点又不丢真实告警。dwmw2 已请求 syz test 验证 seb-nonblock-rt-test 场景。

lore
RFC分析 success作者:Qiurong Fang2026/08/25 12:132 封邮件

[PATCH RFC 0/1] sched: replace the nr_pinned offset access with a per-CPU counter

本 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 行,类型安全回归,行为不变。

lore
Bugfix重要分析 success作者:Jake S2026/08/25 11:3810 封邮件

[BUG] sched/fair: divide error in __calc_prop_weight() from the enqueue path (flat-hierarchy series)

tip sched/core 的 flat-hierarchy 重构里 tg_cpus() 不像 tg_tasks() 那样 floor 在 1,空 cpuset 给出 0 后穿过 calc_concur_shares() 的 min() 击穿 __calc_smp_shares() 的 MIN_SHARES 兜底,group se 的 load.weight 沦为 0,下一次 enqueue 走 __calc_prop_weight() 触发 #DE。Jake Steinman 提出把 tg_cpus() 改成 max(nr, 1),已合入 tip sched/urgent(commit 2...

lore
Bugfix重要分析 success作者:Yao Kai2026/08/25 11:148 封邮件

[PATCH v2 0/2] futex/requeue: Fix requeue PI races

Yao Kai 发送 v2 系列 patch,修复 futex requeue PI 路径上的两处并发问题:patch 1 在 futex_wait_requeue_pi() 的 Q_REQUEUE_PI_DONE 分支围绕 rt_mutex_wait_proxy_lock() 调用 rt_mutex_pre_schedule/post_schedule,避免 futex_do_wait() 跳过 schedule() 后 rt_mutex_schedule() 缺 sched_rt_mutex 触发 WARN;patch 2 让 futex_requeue_pi_complete() 对 Q...

lore
讨论分析 success作者:kernel test robot2026/08/25 03:351 封邮件

Re: [PATCH] sched/fair: Restart hrtick after same-task repicks

Intel 0-day CI 自动报告 patch「sched/fair: Restart hrtick after same-task repicks」v1 在编译 kernel/sched/fair.c 时报错 'no member named hrtick_rearm_fair in struct rq'。该 patch 试图在同任务 repicks 时重新 arm hrtick,但漏改了 struct rq 字段定义,且已超过 7 天未更新,需要作者重发 v2。

lore
Bugfix分析 success作者:kernel test robot2026/08/25 02:271 封邮件

Re: [PATCH] sched/fair: Restart hrtick after same-task repicks

Shubhang Kaushik 在 v1 中尝试修复 CFS 同任务 repick 后 hrtick 不重启的延迟回归,但 patch 在 fair.c 中引用了 struct rq 的 hrtick_rearm_fair 字段,而 sched.h 中并未声明该成员。0day kbuild 机器人给出编译错误并提示 patch 已超过 7 天、需确认是否已被取代,需作者补齐 struct 定义或对齐 base 树后重发。

lore
Bugfix分析 success作者:Zhan Xusheng2026/08/25 00:072 封邮件

[PATCH] sched/fair: Use update_curr_eevdf() for the remaining root cfs_rq callers

修复 pick_task_fair() 和 yield_task_fair() 在 root cfs_rq + cgroup 场景下因 update_curr() 早返回导致 curr 落后最多一个 tick 的问题,改用 update_curr_eevdf() 让 task 与 group entity 的更新语义一致。涉及 core scheduling 兄弟 CPU 的 pick、fair_server_pick_task()、yield_task_fair() 三条角落路径,并用实测说明绝大多数 pick 都走了 no-op 路径。属于 Fixes 85570f10a4c6 与 68e...

lore
Bugfix分析 success作者:Jaeyoung Chung2026/08/24 23:171 封邮件

[BUG] KASAN: slab-use-after-free Read in ntfs_fileattr_get

作者在 NTFS3 中复现到 KASAN slab-use-after-free Read,栈底位于 ntfs_fileattr_get。本邮件并非真正的修复 patch,而是在 ntfs_fs_reconfigure、ntfs_fs_free 与 membarrier_init 三个关键点插入基于 current->comm 前缀匹配的 syzkaller 调试桩——对 syzrepro0/8 进程累加计数、扩张阈值,并在 membarrier_init 末尾 mdelay(1) 忙等 1ms,以放大竞争窗口、稳定复现。代码不进入主线,仅作调试构建;邮件正文被截断,KASAN 完整调用栈与 ...

lore
其它重要分析 success作者:Peter Zijlstra2026/08/24 21:5334 封邮件

[PATCH v3 0/7] sched: Flatten the pick

Peter Zijlstra 的 v3 系列把 cgroup 层级权重从 1/N^d 衰减修正为可切换的五档算法(up / smp / max / concur / tasks),新默认 concur 通过 min(M,N) 把组内有效权重稳定在 1;并以 sched/eevdf 单 rq 化把 pick_next_task 路径上的中间 group se 移除,目标是降低 P99 调度延迟。后续 tip-bot2 合入与 Chen Yu 的 u32 溢出 fix 把整套改造落到 sched/core,但 wake_affine_weight 在新权重下的退化仍在持续追讨。

lore
Bugfix重要分析 success作者:Lu Wang2026/08/24 10:332 封邮件

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

Lu Wang 的 v3 patch 修复 CAS 在 passive LB 退化到 active LB 时丢失 migrate_llc_task 语义的回归。新增 LBF_ACTIVE_LB_LLC flag 和 alb_stop_fn() 选择 stopper callback,使 can_migrate_task() 在 ALB 路径里也能识别 LLC 触发的迁移,避免把不该离开 preferred LLC 的任务迁走。v3 已拿到 Tim Chen 与 Chen Yu 的 Reviewed-by,作者正 ping maintainer Peter 等待 pick。

lore
RFC重要分析 success作者:Dongli Zhang2026/08/24 09:373 封邮件

[PATCH RFC 2/2] sched/core: Defer preempted remote vCPU task clock updates

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

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