【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

相关推荐
却道天凉_好个秋21 天前
WebRTC(三):P2P协议
网络协议·webrtc·p2p
凉、介21 天前
Linux 下 pcie 初始化设备枚举流程代码分析
linux·运维·服务器·学习·嵌入式·c·pcie
邪恶的贝利亚24 天前
实现p2p的webrtc-srs版本
网络协议·webrtc·p2p
想搞嵌入式的小白25 天前
STM32的DMA简介
dma
Evan_ZGYF丶1 个月前
【PCIe总线】 -- PCI、PCIe相关实现
linux·嵌入式·pcie·pci
FakeOccupational1 个月前
【p2p、分布式,区块链笔记 MESH】Bluetooth蓝牙通信 BLE Mesh协议的拓扑结构 & 定向转发机制
笔记·分布式·p2p
FakeOccupational1 个月前
【p2p、分布式,区块链笔记 MESH】Bluetooth蓝牙通信拓扑与操作 BR/EDR(经典蓝牙)和 BLE
笔记·分布式·p2p
FakeOccupational1 个月前
【p2p、分布式,区块链笔记 MESH】 论文阅读 Thread/OpenThread Low-Power Wireless Multihop Net
分布式·区块链·p2p
黑石云1 个月前
大宽带怎么做
服务器·边缘计算·p2p
htt7891 个月前
[P2P]并发模式
服务器·网络协议·p2p