【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

相关推荐
橘色的喵1 天前
Linux编程:DMA增加UDP 数据传输吞吐量并降低延迟
linux·udp·dma·网络驱动·低延迟·吞吐量·nic
9527华安2 天前
FPGA视频GTH 8b/10b编解码转PCIE3.0传输,基于XDMA中断架构,提供工程源码和技术支持
fpga开发·音视频·pcie·gth·xdma·pcie3.0
FakeOccupational2 天前
【p2p、分布式,区块链笔记 Torrent】WebTorrent的add和seed函数
笔记·分布式·p2p
海思开发板总店4 天前
零基础玩转IPC之——如何实现远程实时查看监控视频(P2P)
h.265·p2p·h.264·流媒体·监控开发
FakeOccupational5 天前
【p2p、分布式,区块链笔记 Torrent】WebTorrent的上传和下载界面
笔记·分布式·p2p
FakeOccupational6 天前
【p2p、分布式,区块链笔记 Torrent】WebTorrent 的lt_donthave插件
笔记·分布式·p2p
FakeOccupational8 天前
【p2p、分布式,区块链笔记 IPFS】go-ipfs windows系统客户端节点实现 kubo试用
分布式·区块链·p2p
PoroKing13 天前
使用HAL库的STM32工程,实现DMA传输USART发送接收数据
stm32·单片机·嵌入式硬件·dma·usart·hal库
9527华安14 天前
FPGA实现PCIE视频采集转USB3.0输出,基于XDMA+FT601架构,提供3套工程源码和技术支持
fpga开发·pcie·xdma·usb3.0·ft601
Hello.Reader16 天前
全面解析P2P网络
网络·网络协议·p2p