【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

相关推荐
FakeOccupational11 小时前
p2p、分布式,区块链笔记: 通过libp2p的Kademlia网络协议实现kv-store
分布式·网络协议·p2p
集星引擎+UP2020J4 天前
抖音短视频seo矩阵系统源代码开发系统架构及功能解析
数据库·小程序·矩阵·产品运营·p2p·用户运营
icysmile1314 天前
Zynq7000系列FPGA中DMA引擎编程指南
fpga开发·dma
icysmile1316 天前
Zynq7000系列FPGA中的DMA控制器编程指南
fpga开发·dma
java小郭8 天前
P2P文件传输协议之BitTorrent协议
网络·网络协议·p2p
superxxd9 天前
视频集市新增支持多格式流媒体拉流预览
实时音视频·p2p
java小郭11 天前
P2P文件传输协议介绍
网络·网络协议·p2p
再不会python就不礼貌了17 天前
在 Stable Diffusion 中控制光线的三种方式
服务器·人工智能·网络协议·stable diffusion·p2p
李小白杂货铺24 天前
百度网盘限速解决办法
限速·p2p·百度网盘·解决办法·百度网盘青春版