我正在通过内核模块进行PCIE吞吐量测试,测试结果数字非常奇怪(写入速度为210MB / s,但PCIE gen1 x1的读取速度仅为60MB / s)。如果我的测试配置有错误的方法,我想问你的建议和更正。
我的测试配置如下:
对于RP板,我使用PCIE以太网e1000e卡进行了测试,最大吞吐量达到900Mbps。我只是想知道在以太网TX路径的情况下,以太网卡(播放端点角色)也执行EP读取请求,并且可以通过更小的DMA传输获得高吞吐量(~110MB / s),因此我的DMA必定有问题EP读配置。
DMA读取测试的细节可以用以下伪代码汇总:
dest_buffer = kmalloc(1MB)
memset(dest_buffer, 0)
dest_phy_addr = dma_map_single(destination_buffer)
source_phy_addr = outbound region of Endpoint
get_time(t1)
Loop 100 times
Issue DMA read from source_phy_addr to dest_phy_addr
wait for DMA read completion
get_time(t2)
throughput = (1MB * 100)/(t2 - t1)
任何建议和建议都表示赞赏。先谢谢!