sched discussion
Re: Linux 7.1.6
LLM 分析
Linux 7.1.6 Stable Release Announcement
系列概况
- 标题: Linux 7.1.6
- 作者: Greg Kroah-Hartman (gregkh)
- 版本: 7.1.6 — stable branch
linux-7.1.y的第 6 个维护版本 - 规模: 跨多个架构与子系统,diffstat 触及接近一百个文件
- 修改文件 (节选):
Documentation/admin-guide/cgroup-v2.rst、Documentation/hwmon/max34440.rst、Documentation/netlink/specs/rt-link.yaml、Makefile、arch/arm64/boot/dts/nvidia/tegra234.dtsi、arch/arm64/boot/dts/nvidia/tegra264.dtsi、arch/arm64/include/asm/esr.h、arch/arm64/mm/hugetlbpage.c、arch/arm64/mm/mmu.c、arch/loongarch/include/asm/asmmacro.h、arch/loongarch/kernel/acpi.c、arch/loongarch/kernel/kgdb.c、arch/loongarch/kernel/machine_kexec.c、arch/loongarch/kernel/rethook_trampoline.S、arch/loongarch/kernel/setup.c、arch/loongarch/kernel/smp.c、arch/loongarch/mm/init.c、arch/loongarch/net/bpf_jit.c、arch/m68k/include/asm/page_mm.h、arch/powerpc/kernel/time.c、arch/powerpc/mm/mem.c、arch/powerpc/platforms/85xx/common.c、arch/riscv/Kconfig、arch/riscv/include/asm/kvm_host.h、arch/riscv/kernel/sys_hwprobe.c、arch/riscv/kvm/aia.c、arch/riscv/kvm/vcpu.c、arch/riscv/kvm/vcpu_onereg.c、arch/riscv/mm/init.c、arch/s390/kernel/time.c、arch/s390/lib/csum-partial.c、arch/s390/mm/init.c、arch/x86/boot/compressed/Makefile等,列表在公告邮件中截断 - 代码统计: 输入未给出完整 +/- 行数;单文件行数在 diffstat 中已标注(如
cgroup-v2.rst | 4、max34440.rst | 27、rt-link.yaml | 40、arch/powerpc/kernel/time.c | 43、arch/riscv/kvm/vcpu.c | 68等) - Message-ID:
- 公告 (discussion):
2026080338-coziness-stylist-3f7f@gregkh - 回复 (带 hunk):
2026080338-landing-whoopee-9ee0@gregkh
- 公告 (discussion):
- 完整性: 输入只含 2 封邮件:1 封发布公告 + 1 封截取的 patch 片段;不包含后续 review、ack 或 stable 队列讨论
补丁目的
Greg Kroah-Hartman 通告 7.1 稳定分支的下一个维护版本 7.1.6,回合 mainline 上若干 bug 修复、安全补丁、文档勘误和驱动支持,并要求所有 7.1 内核用户升级。
关键实现
本线程不是某个具体 patch 系列,而是 stable release 公告。第二封邮件的正文只列了被纳入的文件清单,没有给出每个 commit 的具体 changelog。回复 (message 1) 截取的 hunk 给我们提供了一个小窗口,能看到 7.1.6 中两处文档变更:
diff --git a/Documentation/admin-guide/cgroup-v2.rst
@@ -1570,7 +1570,7 @@ The following nested keys are defined.
- vmalloc (npn)
+ vmalloc
@@ -1735,7 +1735,7 @@ The following nested keys are defined.
- Number of incompressible pages currently stored in zswap
+ Amount of memory used by incompressible pages currently stored in zswap
diff --git a/Documentation/hwmon/max34440.rst
@@ -19,6 +19,14 @@ Supported chips:
+ * ADI ADPM12250
+ Prefixes: 'adpm12250'
+ Addresses scanned: -
+ Datasheet: -
@@ -87,11 +95,11 @@ This driver supports multiple devices:
- ... PMBus DC/DC Power Module ADPM12160, and ADPM12200 ...
+ ... PMBus DC/DC Power Module ADPM12160, ADPM12200, and ADPM12250. ...
解读:
cgroup-v2.rst第 1570 行:把vmalloc (npn)改为vmalloc,去掉无意义的npn标记,让格式更干净。cgroup-v2.rst第 1735 行:zswap 的描述从 "Number of incompressible pages" 改为 "Amount of memory used by incompressible pages",补上 amount / used 的语义,避免读者把它误读成「不可压缩页的个数」。max34440.rstSupported chips:新增 ADI ADPM12250(前缀adpm12250,Datasheet / Addresses scanned 留-占位,这是 PMBus 驱动文档的常见写法)。max34440.rstsupported devices 描述段:把 ADPM12250 与 ADPM12160 / ADPM12200 并列,并顺手重新折行,使段落不超过 80 列。
公告侧覆盖的范围 (从 diffstat 推断) 至少包括:
+-----------------+------------------------+
| arch / subsys | changes visible in 7.1.6|
+-----------------+------------------------+
| arm64 (NVIDIA) | tegra234/264 DTSI adj |
| arm64 mm | hugetlbpage / mmu fix |
| loongarch | ACPI / kexec / kgdb / |
| | rethook trampoline / |
| | BPF JIT / SMP / setup |
| powerpc | time.c, mm/mem.c, |
| | 85xx board glue |
| riscv (KVM) | aia / vcpu / host |
| | AIA irqchip adj |
| s390 | time, csum, mm init |
| x86 | boot/compressed |
| hwmon / netlink | max34440, rt-link |
| docs / cgroup | yaml + cgroup-v2 |
+-----------------+------------------------+
发布流程示意:
mainline (rc, next)
|
| git pull into linux-stable
v
linux-stable.git
|
| cherry-pick relevant fixes
v
linux-7.1.y branch
|
| tag + release announcement
v
Linux 7.1.6 (announced by gregkh)
|
v
users must upgrade
类比
把 stable 分支想象成餐厅的菜单:Linux mainline 是「中央厨房」,每天都在试新菜式;7.1.y 是「本店主推菜单」,每隔几周 (7.1.x) 餐厅会出一期「纠错小册子」,把客人吃出来的回归、漏写的食材 (比如 ADPM12250)、含糊的计量 (比如 vmalloc (npn)、zswap 的「不可压缩页」表述) 一并修订,再把更新后的小册子发到所有点过这道菜的客人手里。Greg KH 就是「主厨长」兼「纠错小册子编辑」,这一封邮件就是他在发新一期 7.1.6。
Highlight:风险与注意点
- 不要把这条 thread 当 scheduler 专题:它来自
sched频道,但实际是跨多架构的 stable release 公告;要看到底修了哪些 scheduler 相关的问题,需要直接查linux-7.1.y的 git log,而不是只看这两封邮件。 - 必须升级:公告里 Greg 明确写 "All users of the 7.1 kernel series must upgrade.",意味着 7.1.6 至少包含一个被官方认定为应当立刻吸收的修复 (很可能涉及安全或回归),不能跳过。
- 跨架构覆盖广:diffstat 涉及 arm64 / loongarch / powerpc / riscv / s390 / x86 / m68k;如果产品只跑其中某一两个架构,可以只关注对应架构的子集。
- 文档 vs 代码:本回复截取的 hunk 偏向文档,没有暴露核心代码改动;不要因为 diff 看着「只动了 4 行 rst」就以为风险很低,真正的修复藏在公告里那串长长的文件列表中。
- 下游厂商树对齐:每次 stable 回合都意味着与 vendor tree 基线发生偏移,下游需要重新评估 7.1.6 是否要 backport 进自己产品的内核基线。
- 回退验证建议:升级后建议至少跑一次 boot test + 受影响架构的 subsystem smoke (mm / kvm / timekeeping),尤其是 riscv KVM 的 aia / vcpu 改动体量较大。
一句话总结
Greg Kroah-Hartman 发布 7.1 稳定分支的 7.1.6 维护版本,回合 mainline 上跨 arm64 / loongarch / powerpc / riscv / s390 / x86 / m68k 等多个架构与子系统的修复 (含 cgroup-v2 文档清理、hwmon 新增 ADPM12250 等),并要求所有 7.1 系列用户升级。