sched discussion
Linux 7.1.9
LLM 分析
Linux 7.1.9 stable 内核发布公告
系列概况
| 字段 | 内容 |
|---|---|
| 标题 | Linux 7.1.9 |
| 作者 | Greg Kroah-Hartman |
| 版本 | 7.1.9(stable 分支 linux-7.1.y) |
| 规模 | 跨多个子系统,约 80+ 文件改动(按 diffstat 头可见) |
| 修改文件 | Documentation/、arch/arm*/、arch/arm64/、arch/x86/、drivers/(accel、android、ata、bluetooth、counter、dibs、gpio、gpu/…) |
| 代码统计 | 不完整(diffstat 在中途被截断,+/- 总行不可信) |
| Message-ID | 2026081931-hatchling-married-9d53@gregkh、2026081931-profile-ninth-1c9c@gregkh |
| 完整性 | 不完整:两封邮件正文都在文件清单/diff 中段被截断 |
补丁目的
发布 7.1 系列的第 9 个 stable 修正版本,强制所有 7.1 用户升级;把上游 stable 分支上积累的回归修复与驱动修复打包给下游发行版与终端用户使用。
旧流程的问题
stable 用户停留在 7.1.8 上时,会带着若干未修复的回归:例如某些 x86-64 平台在默认 TLB 刷新路径下仍会触发 tlbi 失效 bug、hwmon 子系统中通过 debugfs 暴露的回调与原有 hwmon_lock() 文档不一致、部分 USB 设备在 9 字节配置描述符请求阶段就会失败。Greg KH 的 stable 流程需要在每次合并窗口截取后回灌这些修复并打 tag。
新流程
由 stable 分支维护者把已落在 mainline 或直接 cherry-pick 的修复合入 linux-7.1.y,由 Greg KH 每周/每两周打一个 7.1.x tag;本次就是 7.1 系列的第 9 次滚动。用户侧只需:
user distro / stable user
| |
| report regression |
|-------------------->|
| | upstream cherry-pick
|<--------------------|
| pull linux-7.1.y |
|-------------------->|
| rebuild + reboot |
|-------------------->|
Patch 概览
邮件 1 是发布公告,仅列出 diffstat 文件清单(被截断)。邮件 2 是同主题回复,附上几段真实 diff:
Documentation/admin-guide/kernel-parameters.txt:新增tlbi=ipi内核参数,提示在 x86-64 上可以切换到基于 IPI 的 TLB flush 路径。Documentation/hwmon/hwmon-kernel-api.rst:更新hwmon_lock()/hwmon_unlock()说明,把debugfs函数和guard()/scoped_guard()变体纳入文档。Documentation/sound/alsa-configuration.rst:开头可见但被截断。- 同时邮件 1 末尾的 diffstat 还显示大量改动:
arch/arm64/boot/dts/qcom/*.dtsi、arch/arm64/mm/{ptdump,mmu}.c、arch/x86/kernel/cpu/{common.c,mce/core.c}、arch/x86/kvm/{mmu/mmu.c,svm/sev.c}、drivers/android/binder/process.rs、drivers/bluetooth/{btrtl,btusb}.c、drivers/gpio/gpio-pca953x.c等。
关键实现
本帖本质是 stable 滚动发布,并没有展示单条核心实现的全部逻辑。可识别的几处实质改动:
tlbi=ipi参数:允许在 x86-64 上强制使用 IPI 方式进行 TLB 刷新,而不是默认的硬件广播方式;通常作为规避某些 TLB invalidate bug 的开关。
TLB flush 选择(x86-64)
+-----------------------+
| kernel cmdline parse |
| tlbi=ipi ? |
+----+------------------+
| yes
v
+------------------+ +-------------------+
| per-CPU IPI walk | <---- | default HW shoot- |
| (slow, precise) | | down (fast, broad)|
+------------------+ +-------------------+
- hwmon 锁文档更新:明确
hwmon_lock()/hwmon_unlock()现在覆盖debugfs函数路径并支持guard()/scoped_guard();表明底层加锁语义已扩展,旧注释不再完整。
hwmon 加锁覆盖面(更新后)
+--------------------------+
| hwmon_lock / hwmon_unlock|
+-----------+--------------+
|
+-----------+-----------+----------------+
| interrupt | attribute | debugfs |
| handlers | callbacks | file ops |
+-----------+-----------+----------------+
|
+------+------+--------------+
| guard() | scoped_guard() |
+---------+----------------+
- USB quirks 列表新增条目:邮件 1 的
kernel-parameters.txt周围可以看到USB_QUIRK_WINDOWS_CONFIG_REQ_SIZE——遇到在初始化阶段请求 9 字节配置描述符就失败的设备时,请求 255 字节以模拟 Windows 行为。
USB 配置描述符请求
+------------------+ fail(9B) +------------------+
| device probe | ---------------------> | apply quirk |
| GET_DESC(cfg, 9) | | GET_DESC(cfg,255)|
+------------------+ +------------------+
|
v
+------------------+
| continue probe |
+------------------+
类比
把 stable 分支想成一条 售后服务热线:主线(mainline)不断推出新功能(新款产品),而 stable 分支只接收经过筛选的 安全补丁与回归修复(官方召回零件)。Greg KH 相当于 4S 店店长,每两周推一次“小保养包”——7.1.9 就是 7.1 系列出到第 9 期的保养包。
tlbi=ipi 开关则像给汽车 手动切换远近光灯:默认用广播方式“照亮”所有 CPU 的 TLB(远光,省电但偶尔打不到死角),一旦发现暗角(特定硬件失效),就切到 IPI 一盏一盏照(近光,慢但精准)。
hwmon_lock() 的扩展则像把 仓库大门锁升级为门禁卡 + 监控摄像头:原来只覆盖部分通道,现在连 debugfs 这条平时没人走的小路也被纳入了同一把锁,连同 guard/scoped_guard 这种“临时通行证”也一起发放。
Highlight:风险与注意点
- 完整性风险:两封邮件正文均在中段被截断,diffstat 列表和 hunk 都不完整,不能凭本帖判断 7.1.9 修复了哪些 CVE 或回归。要完整分析需要去
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git取tag v7.1.9与linux-7.1.y之间的实际 commit 列表。 - 强制升级声明:发布公告里 “All users of the 7.1 kernel series must upgrade” 是 Greg KH 对 stable 用户的标准措辞,但具体触发原因(critical regression / security fix)通常在 commit log 里,不在公告里。
tlbi=ipi兼容性:这是新出现的命令行开关,需要确认默认值保持向后兼容;如果默认从硬件广播改成 IPI,可能在大机器上引入性能回退。- drivers 改动面广:
binder(Rust 绑定器驱动)、dibs、amdxdna等都在列表里,订阅了这些子系统的维护者需要对照自己维护的 backport 看是否要重新对账。 - 来源频道声明为
sched:本帖 没有真正触及 scheduler 子系统,只是被错误归类到 sched 频道,分析时要避免把这次发布硬解读为调度器改动。
版本变化
仅有 7.1.9 这一期,帖内没有 vN→vN+1 的对比;不做空推断。
一句话总结
Linux 7.1.9 是 Greg KH 在 7.1 stable 分支上的一次常规滚动发布公告,正文因截断看不到完整 diff,但能看到 tlbi=ipi 开关、hwmon 锁文档扩展和若干驱动回归修复;本帖与 scheduler 无关,不应被误读为调度器补丁。