【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

相关推荐
linkedbyte1 天前
P2P直播系统
音视频·p2p·obs·obs直播·pcdn
爱吃芹菜炒肉2 天前
Chapter 16: Power Management
服务器·c语言·网络·tcp/ip·pcie
NQBJT3 天前
DMA —— 让 CPU “偷懒”的数据搬运工
stm32·单片机·dma·嵌入式
少游3395 天前
哈尔滨工业大学csapp大作业《程序人生-Hello’s P2P》
程序人生·职场和发展·p2p
Z文的博客12 天前
嵌入式MCU与迪文屏通信:DMA+环形FIFO+变长队列+状态机完整手册
stm32·单片机·串口·dma·中断·串口dma·嵌入式单片机
JZZC212 天前
2.OSPF P2P 网络类型
计算机网络·p2p·ensp·ospf
emm的金毛13 天前
PCIe总线-PCIe体系结构(1)
pcie
凉、介14 天前
别再把 PCIe 的 inbound/outbound、iATU 和 eDMA 混为一谈
linux·笔记·学习·嵌入式·pcie
木泽八15 天前
PCIe 物理层(Physical Layer)详解
pcie
s090713615 天前
ZYNQ7000 AXI DMA 接收中断(S2MM_introut)全解析:从硬件原理到Linux驱动开发
linux·驱动开发·dma·zynq