【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

相关推荐
嵌入式科普7 天前
十八、从0开始卷出一个新项目之瑞萨RZN2L使用ADC+DMA接收数据流
dma·瑞萨·rzn2l·adc dma
Aspiresky10 天前
浅析Linux内核scatter-gather list实现
linux·dma·scatter/gather
Antonio91510 天前
【音视频】WebRTC P2P、SFU 和 MCU 架构
音视频·webrtc·p2p
忆萧15 天前
Nginx实现P2P视频通话
webrtc·p2p
程序员老舅15 天前
‌NAT穿透技术原理:P2P通信中的打洞机制解析‌
服务器·c++·网络协议·网络编程·p2p·nat·网络穿透
mit6.82419 天前
[p2p-Magnet] 队列与处理器 | DHT路由表
网络·网络协议·p2p
jiasting23 天前
高通平台wifi--p2p issue
asp.net·p2p·issue
夏天Aileft1 个月前
PCIe Electrical Idle Sequences ( EIOS and EIEOS )
pcie
poemyang1 个月前
从纳秒到毫秒的“时空之旅”:CPU是如何看待内存与硬盘的?
dma·计算机原理·存储架构·i/o 模式
学习嵌入式的王饱饱1 个月前
STM32HAL库 -- 10.DMA外设实战(UART串口+DMA读取传感器数据)
stm32·单片机·dma·uart·hal库