sched discussion
Re: Linux 6.12.104
LLM 分析
Linux 6.12.104 stable 发布公告
系列概况
- 标题: Linux 6.12.104
- 作者: Greg Kroah-Hartman (gregkh@linuxfoundation.org)
- 版本: stable 分支 6.12.y 的 bugfix 子版本;SUBLEVEL 由 103 升到 104
- 规模: 跨多子系统批量回植,diffstat 列表可见 50+ 文件路径,但 body 在列表中途被截断
- 修改文件: Documentation/devicetree/bindings/crypto/qcom,inline-crypto-engine.yaml、MAINTAINERS、Makefile、arch/arm/boot/dts/broadcom/bcm-ns.dtsi、arch/arm/mach-npcm/platsmp.c、arch/arm64/boot/dts/broadcom/bcm2712.dtsi、arch/s390/kvm/pci.{c,h}、arch/x86/kvm/mmu/mmu.c、arch/x86/kvm/svm/sev.c、block/blk-mq.c、drivers/ata/pata_sl82c105.c、drivers/counter/microchip-tcb-capture.c、drivers/crypto/ccp/sev-dev.c、drivers/gpu/drm/amd/、drivers/gpu/drm/bridge/parade-ps8640.c、drivers/hwmon/{ads7828,corsair-psu,ltc4282,nzxt-smart2,lm25066}.c、drivers/input/evdev.c、drivers/misc/{fastrpc.c, mei/client.c}、drivers/mtd/nand/spi/core.c、drivers/net/bonding/bond_alb.c、drivers/net/ethernet/amd/pds_core/、drivers/net/ethernet/aquantia/...(body 截断,后续未列出)
- 代码统计: 邮件正文给出每文件 +/- 行数(arch/s390/kvm/pci.c +86、drivers/mtd/nand/spi/core.c +74、block/blk-mq.c 38 等),但整体 +/- 合计与文件数因 body 被截断无法精确读出
- Message-ID: 2026081916-radiance-plenty-88b6@gregkh(announce),同主题 reply 为 2026081916-platform-come-496e@gregkh
- 完整性: 不完整。两封邮件 body 都在 diffstat 列表中途被截断;announce 邮件后续文件路径不可见,reply 邮件中 diff 在 hunk 中段被切
补丁目的
发布 Linux 6.12 稳定分支的小版本 6.12.104,把 mainline 与其他分支上一周期积累的关键修复回植到 6.12.y 分支,明确要求 6.12 kernel series 用户必须升级,覆盖 crypto bindings、MAINTAINERS、多个 DTS、KVM(s390 + x86)、blk-mq、ATA、hwmon、evdev、mei、fastrpc、NAND SPI、bonding ALB、amdgpu DC/TTM、ps8640 bridge 等众多子系统的稳定性与正确性修复
旧流程的问题
6.12.103 发布后到 6.12.104 之间又积累了一批需要回植的修复:
- qcom inline-crypto-engine binding 缺少
clock-names: core/iface与minItems/maxItems,导致驱动/firmware 解析不一致 - MAINTAINERS 中
drivers/nvmem/layouts/fixed-layout.c缺少认领维护者 - arch/arm DTS、bcm2712 DTS、bcm-ns GIC SPI 中断号需要修正
- s390 KVM PCI、x86 KVM MMU/SEV、amdgpu 设备/display 序列、blk-mq、bonding ALB、ccp/sev、fastrpc、mei 等模块各自有需要回植的修复
新流程
stable maintainer 收集这一批 commit,bump Makefile SUBLEVEL,把 tag 推到 linux-stable.git 的 linux-6.12.y 分支;announce 邮件给出 git URL + diffstat 摘要;用户从 git.kernel.org 拉取或下载 tarball 完成升级
+-------------------+ +----------------------+ +------------------------+
| mainline fixes | ---> | linux-stable.git | ---> | linux-6.12.y tag v104 |
| (multi-subsystem) | | 6.12.y branch | | Makefile SUBLEVEL 104 |
+-------------------+ | cherry-pick + squash | +------------------------+
+----------------------+ |
| v
v +-----------------------+
+-----------------------+ | lore.kernel.org |
| announce mail + | ---> | announcement + |
| diffstat listing | | git URL + file list |
+-----------------------+ +-----------------------+
|
v
+------------------------+
| 6.12 users fetch + |
| rebuild and upgrade |
+------------------------+
Patch 概览
由于 body 截断,diffstat 中可见的关键回植按子系统归类:
+-----------------+-----------------------------+------------------+
| Subsystem | Representative file(s) | Approx +/- lines |
+-----------------+-----------------------------+------------------+
| DT bindings | qcom,inline-crypto-engine | +16 |
| MAINTAINERS | fixed-layout nvmem | +5 |
| Makefile | SUBLEVEL bump | 2 |
| arm/arm64 DTS | bcm-ns / bcm2712 / platsmp | small |
| s390 KVM | kvm/pci.c | +86 |
| x86 KVM | mmu.c / svm/sev.c | +12 / +3 |
| block | blk-mq.c | 38 |
| crypto/counter | sev-dev / microchip-tcb | +17 / +4 |
| GPU | amdgpu_device / ttm / | 35 + 24 + 27 |
| | dce110_hwseq / ps8640 | |
| hwmon | ads7828 / corsair-psu / | 11 + 4 + 20 + |
| | ltc4282 / nzxt-smart2 / | 6 + 5 |
| | lm25066 | |
| input / misc | evdev / fastrpc / mei | 27 + 19 + 25 |
| mtd | nand/spi/core | 74 |
| net | bonding/alb / pds_core / | 10 + 14 + ... |
| | aquantia ... | |
+-----------------+-----------------------------+------------------+
关键实现
虽然正文 diff 未给出完整 hunk,但可从文件名与上下文推断的几类典型 fix:
- DT binding 修正:
qcom,inline-crypto-engine.yaml显式声明clock-names: core / iface、minItems: 1 / maxItems: 2,并在 example node 增加<&gcc GCC_UFS_PHY_AHB_CLK>与clock-names = "core", "iface",避免 firmware 中 clocks 与 clock-names 不一致导致 UFS ICE 设备 probe 失败或 clock 错配 - MAINTAINERS 增项: 新增 FIXED-LAYOUT NVMEM LAYOUT DRIVER 条目,M: Mathieu Dubois-Briand,S: Maintained,F:
drivers/nvmem/layouts/fixed-layout.c,让该驱动正式进入"有人长期维护"状态,补丁流程更顺畅 - KVM 大头: s390 KVM PCI +86 行大概率是若干 patch 合并(含 zPCI/AIS 修复);x86 KVM
mmu.c3 行与svm/sev.c12 行多为 SEV/MMU 状态机或脏页追踪的修正 - block / blk-mq: 38 行通常集中在 plug 路径、scheduler 调用或 hctx 状态机的回归修复
- amdgpu:
amdgpu_ttm.c35 行 +dce110_hwseq.c24 行,多为显示序列与显存管理路径上的稳定性修复 - NAND SPI core: 74 行大概率补回 SPI NAND 控制器/ONFI timing/reset 流程的若干子系统的回归
- bcm-ns.dtsi GIC SPI 138 中断: 看上去只是把某 IRQ 的 polarity/trigger 类型或编号修正,可能为摄像头/外设中断不触发回归的 fix
类比
6.12.104 这种 stable 小版本发布就像物业每两周一次的大楼例行检修公告:每户住户(subsystem maintainer)平日自己房间的水电都已经修好(mainline 修复),Greg 作为大楼物业(stable maintainer)把这一批小修小补集中起来,打包成一份本周小修清单贴在公告栏,告诉所有住户:你家的修理已经包含在内了,赶紧领回去升级。里面那些 s390 KVM PCI、amdgpu display、blk-mq 这种大块头(86 / 74 / 38 行的 patch),相当于某几户做了较深的电路改造,必须随这次升级一并生效
Highlight:风险与注意点
- 公告中明确 "All users of the 6.12 kernel series must upgrade",说明本批含影响面较大的修复(KVM/SEV、amdgpu、NAND SPI、bonding ALB 等),尤其涉及虚拟化与 GPU 子系统,建议在 staging 环境先复测
- 两封邮件 body 都在 diffstat/hunk 中段被截断,正文内无法确认每个 fix 的具体 commit message 与 Fixes tag,需要直接
git log linux-6.12.y比对或拉取 commit 列表 - 该 thread 在 lore 上虽被列入
sched频道,但内容完全不涉及 scheduler 子系统,频道标签与实际 thread 内容不一致,可能由归档/订阅脚本误分类 - s390 KVM PCI +86 行、ccp/sev、amd SEV/MMU 等 patch 多为安全/正确性而非纯性能升级,升级后必须验证业务在 KVM/SEV 路径下仍正常工作
- MAINTAINERS 新增 fixed-layout NVMEM 维护者,意味着该 driver 进入有人长期维护状态,后续外部补丁可直接 CC 该 maintainer 走 subsystem 树
- bcm-ns.dtsi 中 GIC SPI 138 IRQ 修正会改变设备树 ABI,依赖旧 device tree 的 bootloader/固件需要同步更新才能享受修复
版本变化
本邮件本身是 6.12.103 -> 6.12.104 的发布公告,未拆分多版 sub-series;具体每个 commit 与上游 mainline 的 cherry-pick 对应关系需在 linux-stable.git 的 linux-6.12.y 分支 log 中核对
一句话总结
这是 Greg KH 在 lore.kernel.org 发布的 Linux 6.12.104 stable 小版本发布公告,跨 crypto、s390/x86 KVM、amdgpu、blk-mq、hwmon、networking 等多个子系统集中回植一批修复并要求 6.12 用户升级;thread 与 scheduler 子系统无直接关联,且因 body 被截断,具体 patch 列表需到 git-stable.git 自查