← LeisureLinux 文章索引
LeisureLinux · 微信公众号文章

Jens Axboe 操刀新款 Linux 内核补丁:拟将单核 I/O 吞吐性能飙升 60%

Linux/运维 阅读原文(微信)↗

针对 Jens Axboe(io_uring 作者及 Linux Block 层维护者)最新推出的这组补丁(旨在提升60% 的单核 I/O 性能),从架构师和内核开发者的视角来看,这不仅仅是一个数值上的优化,更是 Linux 存储栈在面对超高性能 NVMe 设备时,对"软件开销(Software Overhead)"发起的又一次精细化围剿。

1. 核心背景:软件栈已成为瓶颈

随着 PCIe 5.0/6.0 NVMe 硬盘的普及,单盘 IOPS 已能轻易突破百万级别。此时,Linux 内核在处理每次 I/O 时所产生的CPU 时钟周期开销成了主要制约因素。 Axboe 此次补丁的动力源自上周在克罗地亚举办的LSFMM 峰会。会上讨论了内核 I/O 路径与 SPDK(Intel 的用户态驱动,以 0 拷贝和轮询著称)的差距。Axboe 的目标是通过优化 io_uring,让内核原生的 I/O 路径性能尽可能逼近 SPDK 的理论极限。

2. 技术实现:从"按需分配"到"预映射插槽"

这套补丁的核心逻辑在于io_uring-io-slots。其本质是将Control Plane(控制面)Data Plane(数据面)进一步解耦和静态化。

A. 预分配 struct bio (Bio Pre-allocation)

  • 传统路径:每次 O_DIRECT I/O 请求进入内核,都需要动态分配一个 struct bio 结构体,用于描述这次 I/O。即便有 bio_set 缓存,分配和初始化依然有开销。
  • 优化路径:Axboe 扩展了"注册缓冲区(Registered Buffers)"的概念。现在不仅缓冲区是预先注册的,连对应的 struct bio 都在 slot(插槽)中预先准备就绪

B. 预映射 DMA (DMA Mapping Upfront)

  • 关键痛点:在高频 I/O 场景下,dma_map_page 和 dma_unmap_page(涉及 IOMMU 查找、TLB 刷新等)是非常沉重的负载。
  • 补丁方案:缓冲区在注册阶段就完成了 DMA 映射。提交 I/O 时,内核直接从 slot 中查找预映射信息并填入预分配的 bio。
  • 直达驱动:I/O 提交几乎变成了"查表 -> 填充 -> 下发"的极简过程。

3. 性能数据分析:60% 是怎么来的?

Axboe 在 X (原 Twitter) 上分享了这一迭代过程:

  1. 1.初始 POC:通过减少 bio 分配开销,获得了约50%的提升。
  2. 2.深度优化:进一步优化了 NVMe PCI 驱动层的交互,最终在特定的单核压力测试中达到了60%的性能增益。 这意味着在相同的 CPU 频率下,单核可以支撑更多的 IOPS,或者在达到相同吞吐量时,显著降低 CPU 利用率。

4. 架构师视角:LeisureLinux 的深度洞察

作为 IT 架构师,我们需要关注此改进在实际生产(特别是金融信创等高性能场景)中的影响:

  • 对 IOMMU 瓶颈的缓解: 对于开启了 IOMMU 的严苛安全环境,传统的 DMA 映射开销极大。通过预映射(Upfront Mapping),原本在数据路径上的 IOMMU 动态操作被分摊到了初始化阶段,这对受限于 IOMMU 性能的金融计算节点是巨大的利好。
  • 与 SPDK 的博弈: SPDK 虽然强,但其完全接管硬件、绕过内核协议栈的特性导致了运维复杂(如无法直接使用标准工具监控)。Axboe 的这套方案让 io_uring 在保持内核通用性的前提下,将性能拉升到了足以挑战用户态驱动的水平。
  • 局限性: 目前该优化主要针对 O_DIRECT 且使用 Registered Buffers 的场景(如高性能数据库、分布式存储后端)。对于普通的异步文件读写,提升可能不会如此剧烈。

5. 展望:Linux 7.x 时代的 I/O 演进

这组补丁目前处于Proof-of-Concept (PoC)阶段,位于 Axboe 的 io_uring-io-slots 分支。

  • 关联组件:涉及 io_uring 内核模块、NVMe 驱动以及块设备核心代码。
  • 发布预测:考虑到 2026 年 5 月的时间点,如果合并顺利,这组优化有望进入Linux 7.1 或 7.2主线版本。

深度:阿里 Qwen2.5-Coder 开启"算力平权",代码大模型的"地板价"意味着什么?

Linux 文件系统扩散已成负担:未来文件系统的准入要求已明确

内核 6.18 LTS 驱动加持,Solus 4.9 如何通过 Systemd Preset 与 Wheel 组重塑运维标准?

LeisureLinux 独家:金融政企行业智能体(OpenClaw)办公解决方案

技术深度解析:开源 GreenBoost 驱动实现 NVIDIA GPU 显存跨级扩展

存储架构的阶跃:美光 9650 领衔 PCIe 6.0 时代,28GB/s 吞吐量刷新 IO 上限

20秒编译Linux内核!这台5万美元的"性能怪兽"是所有开发者的终极梦想

Grok 4.2 深度拆解:Agent 集群与逻辑自愈,AI 迈入"系统级"演进

深度:国产 CPU 四大派系大起底——信创从业者必读的"避坑"指南

本文整理自微信公众号 LeisureLinux 的原创内容(Linux / AI / 安全 硬核技术)。

· 阅读原文(微信公众号)

· 关注公众号 LeisureLinux,第一时间获取技术深度内容。

LeisureLinux 公众号二维码(微信扫一扫关注)