【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

相关推荐
乱七八糟的屋子3 天前
libnice 超完整使用教程|C语言ICE/P2P公网穿透入门到高阶实战
网络协议·内网穿透·p2p·libnice·ice协议·stun/turn·webrtc底层
SendTomo4 天前
send.wang私传网:P2P直连传大文件首选工具
javascript·网络·网络协议·webrtc·p2p
Claire_888 天前
多端文件同步技术方案选型:从增量同步到P2P直连的七大实现对比
网络·网络协议·p2p
xz驱动分享10 天前
Linux DMA 子系统学习笔记
linux·dma·rk3588·嵌入式软件
洞察物理世界11 天前
【SI_PCIe 02】快速了解PCIe硬件电路设计
pcie·pcie硬件设计·高速串行总线
.ZGR.14 天前
internet-v2-v3-evolution-blog
websocket·网络协议·https·udp·p2p
神仙别闹15 天前
基于C++设计一个 P2P 聊天软件
网络·网络协议·p2p
xywww16816 天前
开发团队接入 Opus 5 / Sonnet 5:模型路由、升级阈值和成本账怎么算
服务器·网络·p2p
深念Y17 天前
P2P组网选型与折腾记录
网络·网络协议·p2p·局域网·远程·组网
2CM_Embed21 天前
F28379D DMA从零理解(上):DMA是什么、为什么需要它、架构与触发原理详解
dma·c2000·f28379d