【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

相关推荐
数据安全科普王17 小时前
打破中心枷锁:P2P网络如何用“去中心化”重构互联网通信
网络·去中心化·p2p
少云清5 天前
【金融项目实战】4_金融项目 _测试流程
p2p·测试流程·金融项目实战
智驾7 天前
嵌入式Linux DMA深度解析:原理、应用与性能优化实践
linux·dma
风清扬_jd8 天前
libtorrent-rasterbar-2.0.11编译说明
c++·windows·p2p
Remember_99311 天前
网络编程套接字深度解析:从理论到实践的完整指南
网络·算法·http·https·udp·哈希算法·p2p
June bug13 天前
(#字符串处理)判断字符串是否为有效IPv4地址
服务器·网络·p2p
henujolly13 天前
区块链p2p
服务器·区块链·p2p
ae_zr16 天前
STM32H743+DMA+串口空闲中断接收不定长数据,并使用DMA发送数据
stm32·单片机·嵌入式硬件·dma
鲲鹏混子鱼17 天前
WebRTC P2P信令服务架构设计文档
网络协议·webrtc·p2p
时光の尘19 天前
【STM32】两万字详解SD卡移植最新版本FatFs文件系统(ff16)
stm32·mcu·dma·sd·fatfs·sdio·ff16