皇上,还记得我吗?我就是1999年那个Linux伊甸园啊-----24小时滚动更新开源资讯,全年无休!

NVIDIA 改进 Linux 6.19 中的块层点对点 DMA

Linux 6.19 的合并窗口中,IO_uring 和块子系统的变化已经合并,其中有一些改进值得一提。

IO_uring 的合并带来了多项代码清理工作,支持混合大小的 SQEs,零拷贝接收 “zcrx” 更新,以及改进的环初始化。IO_uring 现在还支持 getsockname() 和 getpeername()。

NVIDIA 改进 Linux 6.19 中的块层点对点 DMA

在 Linux 6.19 的块合并中,引起我注意的是对块层点对点 (P2P) DMA 支持的改进。围绕块设备的 P2P DMA 工作最终成为 NVIDIA 追求的工作。NVIDIA 工程师 Leon Romanovsky 通过补丁系列解释道:

“此补丁系列改进了块层和 NVMe 驱动器对 MMIO 内存区域的支持,特别是通过主机桥进行的点对点(P2P)DMA 传输。

该系列解决了一个关键问题,即通过主机桥进行的 P2P 传输 (PCI_P2PDMA_MAP_THRU_HOST_BRIDGE) 没有被正确标记为 MMIO 内存,可能导致以下问题:

– 在 MMIO 区域中不适当的 CPU 缓存同步操作
– 不正确的 DMA 映射/取消映射,未遵循 MMIO 语义
– 缺少对 MMIO 内存处理的 IOMMU 配置

这项工作是从更大范围的 DMA 物理 API 改进系列中提取的,特别关注块层和 NVMe 对 MMIO 内存支持的需求。

除了对块层 P2P DMA 支持的增强,Linux 6.19 的块代码还改进了自动完整性代码,加快了轮询 I/O 处理,修复了 SSD 设备的 blk-throttle,支持缓存区域,多种 MD 修复,改进了与 Bcache 一起使用的每 CPU 工作队列,块追踪代码现在支持区域设备,以及其他改进。

转自 NVIDIA Improves Block Layer Peer-To-Peer DMA In Linux 6.19 – Phoronix