今天三件事值得花三分钟:v7.4 合并窗正式开闸, io_uring 拿到 dma-buf 零拷贝、内核 API 规范框架同批送达; Amlogic S4 全家桶——一位因斯布鲁克大学学生 在八分钟内连发十个系列,把一颗 SoC 从 VDEC 到蓝牙全部推上游。

封面 · 10月26日 · v7.4 合并窗开闸

📊 板块活跃度

/ column
板块活跃度条形图 · 近 24h · 全 12 列表

数据截至 10-26 06:23 北京,近 24h 各板块真实计数:net 169 · mm 88 · DRM 81 · media 63 · PCI 51 · block 42 · fs 38 · LSM 18 · Rust 5 · arch 1 · rt 1 · virtio 0。v7.4 合并窗开启带动 block/mm 的 pull 与修复密集送达,media 的重心被 Amlogic S4 全家桶与高通 camss v22 各占一头。

🎬 今日导读

/ section
头条 v7.4 合并窗开闸——io_uring 接 dma-buf,内核 API 规范框架同批进
头条 Amlogic S4 一日十连发——一个学生把整颗 SoC 推上游
采集 高通 camss Kaanapali v22——新 SoC 相机管线 22 轮
内存 kho 加只读模式;zram 重做压缩后端;zero-page 重映射收紧
文件 缓冲写前先排空在飞的 DIO——跨五处的一致性强心针
架构 MIPS Ingenic XBurst 基础设施 + X1600 SoC 平台推上游
机制 Kernel API 规范框架进 7.4;filemap 给非独占等者让路

💡 今日头条

/ section

v7.4 合并窗开闸:io_uring 接 dma-buf,Kernel API 规范框架同批进

〔10-25 21:30 北京〕· [GIT PULL] io_uring dma-buf support for 7.4;〔10-26 00:47 北京〕· [GIT PULL] Kernel API specification framework for v7.4

现状 io_uring 是 Linux 的异步 IO 主框架,与块层、网络、文件系统深度绑定; dma-buf 是跨设备共享缓冲的标准句柄(GPU、camera、视频解码都用它)。 此前 io_uring 读写要走自家缓冲或页缓存,dma-buf 想进 io_uring 需要绕一层。
痛点 GPU 渲染出来的画面要交给视频编码器、或 camera 采集的帧要直接写盘, 都得先从 dma-buf 拷到普通内存再走 IO——多一次拷贝, 在 4K/8K 视频与 AI 推理场景是实打实的带宽浪费。
方案 Jens Axboe 提交 io_uring dma-buf 支持 pull 请求;同窗口 Sasha Levin 提交「Kernel API specification framework」——给内核 API 立正式规范,让接口语义可被机器校验、跨版本比对,不再只靠文档与 口口相传。同一窗口 Linus 已处理 Block、media、Btrfs、i2c、 parisc、Driver core 等多批 pull。
为什么 io_uring 选 dma-buf 而非自家句柄,是复用现有跨子系统协议—— 图形、媒体、AI 加速器都已在 dma-buf 上对齐;API 规范框架则回应了 「内核接口语义漂移、用户态靠试错」的老问题,把契约从隐式变显式。
效益 相机→编码→落盘、GPU→网络发送这类「跨设备零拷贝流水线」在主线 第一次有了完整路径;API 规范框架落地后,新旧内核的接口行为 差异可以被工具发现。
下一步 合并窗预计两周,本周还会有第二批 pull 涌入。对驱动开发者, io_uring dma-buf 的 buffer import/export 接口是新增贡献入口; API 规范框架需要各子系统补 schema,是新手友好的参与点。
一句话点评 一个是数据通路的机制级补齐,一个是接口治理的基建——同一窗口里两类「给未来铺路」的改动。

Amlogic S4 一日十连发:一个学生把整颗 SoC 推上游

〔10-26 03:25 北京〕· [PATCH 00/11] media: amlogic: vdec: S4 decoding beyond H.264 Baseline 等十个系列

现状 Amlogic S4 是一颗面向电视盒与入门智能屏的 arm64 SoC(四核 Cortex-A35)。主线对它的支持一直零散——clk、基础 pinctrl 已有, 但视频解码、音频、蓝牙、热管理等关键外设大半空缺。
痛点 想用主线内核跑 S4 的用户得自己抱一堆厂商补丁;每推一块功能上游 都要补 dt-bindings、写驱动、调固件交互——单块推完往往就不了了之, 永远凑不齐一颗能用的 SoC。
方案 因斯布鲁克大学学生 Christian Koever-Draxl 在八分钟内连发十个 系列,把 S4 的整条 BSP 栈一次性推上游:VDEC 十一封把 视频解码从 H.264 Baseline 扩到 MPEG-1/2、MPEG-4、MJPEG、 VP9、HEVC、AV1 六种格式(含第二颗 HEVC 核启用);音频七封 (v7);蓝牙 Amlogic W1(W155S2)七封;热管理、CPUFreq、 USB2 PHY、firmware sm、mmc 时钟相位、IR 唤醒、CEC 时钟、 GE2D 与 clk 修复各一。
为什么 选「整栈同推」而非分块送审,是让评审者一次看全 SoC 拼图—— 单点驱动常常因为「不知道周边有没有」被卡住;同时 dt-bindings 与驱动同批送达,避免 binding 先合、驱动跟不上的错位。
效益 S4 从「能点亮」跃到「能看视频、能连蓝牙、能调频、能温控」; 对电视盒发行版(如 LibreELEC、CoreELEC)意味着下一版可转向 主线内核。
下一步 十个系列分散在 media、ASoC、Bluetooth、thermal、cpufreq、 phy、mmc、clk 八个不同维护者队列,节奏不一——VDEC 与音频 已有 v7/v22 的迭代史,最可能先落地;蓝牙与热管理看维护者 本周响应。这是一份很好的「如何把一颗 SoC 推上游」的实景教材。
一句话点评 一人一日推一整颗 SoC,是今年看到的「社区驱动 BSP 上游化」最完整的一次演练。

📰 media 视频采集

/ column

★ ★ 高通 camss Kaanapali 到 v22:新 SoC 相机管线 22 轮迭代

〔10-25 11:17 北京〕· [PATCH v22 00/14] media: qcom: camss: Add Kaanapali support

定位 高通下一代 SoC(Kaanapali)的相机子系统——CAMSS 是高通的 相机硬件抽象驱动,覆盖 CSIPHY(MIPI CSI-2 物理层)、CSID (采集接口解码)、VFE(视频前端,即 ISP)。十四封新增 CSID 1080、VFE 1080、CSIPHY v2.4.0 双相位、TPG v2.4.0 支持。
做法 PHY 层把通用状态寄存器偏移参数化;CAMSS 加 addr_update 钩子 与 CSID reg_update 保护;arm64 dts 补齐 CAMSS、CSIPHY、CCI、 相机 MCLK pinctrl 与 MTP 相机 overlay。
效益 Kaanapali 的相机管线首次在主线可用,给后续旗舰手机/平板打前站。
和你相关 v22 这个版本号说明评审深度——你搞 camera 链路的话,CAMSS 这种分层(PHY/CSID/VFE)与 RK3588 的 CSI host/VICAP/ISP 划分是同一种思路,对照着看能学高通怎么做分层。

📰 mm 内存管理

/ column

★ ★ kho 加只读模式:跨内核交接状态不用改原数据

〔10-26 01:40 北京〕· [PATCH v2 0/9] kho: add read-only Kexec Handover mode

定位 Kexec Handover(KHO,6.13 引入)让新内核接管旧内核留下的内存与 设备状态——比如 kexec 重启不丢 vmalloc 内容、不重置硬件。 原实现把传入的序列化块当可写的,恢复过程会就地修改。
做法 九封把核心拆成两段:先把序列化数据拷出来再做内部表示; 新增 kho_block 与 KHO core 的只读模式;vmalloc 恢复时校验 preservation metadata;测试框架同步支持只读。
效益 旧内核留下的数据原封不动,新内核可以反复尝试恢复、出错回滚——对可靠升级与故障排查是质变。
和你相关 KHO 是「内核热升级不丢现场」的关键底座,云厂商与车载 OTA 都在跟;只读化是把它从「能用」推到「敢用」的一步。

★ ★ zram 重做压缩器:zcomp 重构 + 后端重排 v7

〔10-25 10:18 北京〕· [PATCH v7 00/15] zram: redesign zcomp and rework backends

定位 zram(压缩内存块设备,常用作 swap)的压缩器抽象层与后端实现。
做法 十五封重构 zcomp(压缩器封装),并对 writeback 等后端做重排;含 zram_reset_device() 时重置 writeback 状态的细节修正。
效益 为多压缩算法并发与新型后端(如硬件加速压缩)让路;版本号 v7 说明已经过多轮收紧。
和你相关 Android、嵌入式 Linux 的 swap-on-zram 是标配,这次重构决定后续几年 zram 能挂什么压缩后端。

★ ★ zero-page 重映射收紧:shrinker 关了就不再折返

〔10-26 01:41 北京〕· [PATCH v2 0/2] MM: Tighten control over zero-page remapping

定位 mm 的 THP/KSM 边界——underused THP shrinker 关掉后,路径上仍有 zero-page 重映射发生。
做法 huge_memory.c 在 shrinker 禁用时跳过 zero-page 重映射;ksm 在 ksmd 触发 THP 拆分时也阻止 zero-page 重映射。
效益 关掉 shrinker 就真的是「不再动」,语义一致;同时堵上 KSM 路径绕过 shrinker 的口子。
和你相关 zero-page 是「全零页共享省内存」的核心机制,它在 KSM/THP 边界的正确性直接影响内存去重功能的可信度。

📰 fs 文件系统

/ column

★ ★ 缓冲写之前,先排空在飞的 DIO

〔10-25 20:42 北京〕· [PATCH 0/5] fs: drain in-flight DIO before buffered writes

定位 文件层一致性——直接 IO(DIO)与缓冲写并发时,旧语义下缓冲写不等待已在飞的 DIO,可能基于过期页缓存做合并。
做法 五封把 filemap 层的缓冲写路径改成「先 drain 在飞的 DIO 再动笔」,并把同一约束铺到 zonefs。
效益 混用 DIO 与缓冲写的应用(数据库、AI checkpoint)不再依赖使用方自己加锁。
和你相关 「同一文件两种 IO 路径并发」是文件系统的经典雷区;这次把约束做进公共 filemap 层,所有用它的文件系统一次性受益。

📰 arch 架构

/ column

★ ★ MIPS Ingenic 添 XBurst 基础设施,X1600 SoC 整平台跟进

〔10-26 03:21 北京〕· [PATCH 0/6] MIPS: Ingenic: Add XBurst / XBurst II infrastructure and SoC support

定位 MIPS 架构下的 Ingenic 平台层——XBurst 是 Ingenic 自研 CPU 核心;X1600 是面向入门嵌入式的新 SoC。
做法 六封建 XBurst / XBurst II 基础设施与 SoC 支持;配套四封 clk / clocksource 给 X1600 时钟;另有 drm/ingenic v2 加 X1600 LCD 控制器与 HiBy R1 面板(五封)、X1600 PWM v2(两封)。
效益 Ingenic 新一代 SoC 拿到主线完整启动+显示+时钟+PWM 链路。
和你相关 在 x86/arm64 当道的今天, MIPS 平台仍在为新 SoC 做基础设施——上游接受度证明「老架构 + 新芯片」的路线依旧可行。

更多动态

○ [media] Himax HM1092 单色 NIR sensor 驱动到 v8 〔10-26 00:24〕

○ [media] uvcvideo 加 NV21 像素格式 〔10-25 22:36〕

○ [media] rc-core 五封修复:移除 request_module 后的无意义 msleep 〔10-26 02:14〕

○ [mm] /proc/PID/maps 读取漏 VMA 修复 〔10-25 18:43〕

○ [mm] DAMON 修 sysfs 与核心三处竞态 〔10-26 00:48〕

○ [PCI] sysfs 读配置空间先拿访问锁 〔10-25 08:08〕

○ [arch] arm64 dts:NanoPi M5 启用 Wi-Fi(Rockchip RK3576) 〔10-26 04:54〕

○ [block] null_blk:设备建立前重置 cache 状态 〔10-26 00:11〕

📌 机制雷达:五条跨域大改动

/ section
API 规范框架 Sasha Levin 的 Kernel API specification framework 进 7.4——给内核 API 立机器可校验的正式规范 · 原文
PCI 配置空间访问 RFC:设备配置空间不可达时,不再恢复其状态——修热拔/复位竞态 · 原文
filemap 等待队列 非独占 folio 等待者排到独占等待者前面——读者不再被写者堵住 · 原文
可发现根分区 v2:init 直接识别根分区(Discoverable Partitions Spec),不必再写 root= · 原文
perf ftrace 内联函数 v11 十封:function graph tracer 支持显示内联函数,观测粒度细一级 · 原文

📖 本期概念速查

/ section
dma-buf 跨设备共享缓冲的标准句柄——GPU/camera/视频解码都靠它换数据,不拷贝 · 原文
Kexec Handover (KHO) 6.13 引入的机制:kexec 重启时把内存与设备状态从旧内核交接给新内核,实现「热升级不丢现场」 · 原文
VDEC 视频解码硬件单元;stateful(固件管状态机)与 stateless(驱动管状态机)两类,Amlogic S4 VDEC 属 stateful · 原文
CAMSS 高通相机子系统驱动——按 PHY/CSID/VFE 三层划分,对应 MIPI 物理层、CSI 解码、ISP · 原文

如果对你有用,点个赞,或转给需要的朋友。

数据来源:lore.kernel.org(全内核 13 列表)· 北京时间