【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

相关推荐
emm的金毛17 小时前
PCIe总线-PCIe体系结构(1)
pcie
凉、介1 天前
别再把 PCIe 的 inbound/outbound、iATU 和 eDMA 混为一谈
linux·笔记·学习·嵌入式·pcie
木泽八2 天前
PCIe 物理层(Physical Layer)详解
pcie
s09071362 天前
ZYNQ7000 AXI DMA 接收中断(S2MM_introut)全解析:从硬件原理到Linux驱动开发
linux·驱动开发·dma·zynq
木泽八3 天前
PCIe配置空间与BAR地址映射:系统发现硬件的钥匙
pcie
做萤石二次开发的哈哈3 天前
萤石开放平台音视频 P2P 能力核心是什么?
网络·网络协议·p2p
24zhgjx-lxq3 天前
OSPF的网络类型:P2P与Broadcast
网络·智能路由器·p2p·broadcast·ensp
2301_771717216 天前
P2P 微服务项目架构完整解析
微服务·架构·p2p
努力的章鱼bro9 天前
操作系统-net
c++·操作系统·dma·risc-v
竹之却11 天前
【Linux】内网穿透原理
linux·服务器·网络·frp·内网穿透·p2p·xtcp