【PCIe】P2P DMA

PCIe P2P (peer-to-peer communication)是PCIe的一种特性,它使两个PCIe设备之间可以直接传输数据,而不需要使用主机RAM作为临时存储。如下图3的走向

比如EP1要发送和数据给EP2,操作流程如下:

  1. 打开EP1的dma控制器;--client侧

2.src=EP1的内存地址,dst=EP2的BAR地址空间(provider),EP2的BAR地址一般会与自己的某段内存空间有一个映射关系,也就是将EP2的bar暴漏给了EP1去操作。

3.开启dma传输,将EP1的ddr数据搬运到EP2 bar空间

思考:

Why would you want peer to peer DMA?

没有CPU开销或同步的处理管道;

节省数据流行程

附:

Providers -- Expose P2P resources to other drivers

◢ Clients -- Make use of P2P resources via DMA

◢ Orchestrators -- Enables data flow between clients and providers

◢ Memory is allocated on the client side

接口参考:

PCI Peer-to-Peer DMA Support --- The Linux Kernel documentation

相关推荐
夏天Aileft3 天前
PCIe Electrical Idle Sequences ( EIOS and EIEOS )
pcie
poemyang5 天前
从纳秒到毫秒的“时空之旅”:CPU是如何看待内存与硬盘的?
dma·计算机原理·存储架构·i/o 模式
学习嵌入式的王饱饱7 天前
STM32HAL库 -- 10.DMA外设实战(UART串口+DMA读取传感器数据)
stm32·单片机·dma·uart·hal库
夏天Aileft8 天前
PCIe6.0 FC机制
pcie
数字硬鉴9 天前
PCIe Base Specification解析(八)
芯片设计·soc·pcie·arm架构·cpu设计
DogDaoDao17 天前
WebRTC 2025全解析:从技术原理到商业落地
音视频·webrtc·实时音视频·p2p·流媒体·编解码
ZY小袁18 天前
MGRE综合实验
服务器·网络·笔记·网络安全·学习方法·信息与通信·p2p
conkl18 天前
构建 P2P 网络与分布式下载系统:从底层原理到安装和功能实现
linux·运维·网络·分布式·网络协议·算法·p2p
Lllongroad25 天前
lspci/setpci用法小结
linux·服务器·网络·pcie