(+86) 15013630202 sales@pcie.com

Enabling Orin Dev Kit Ethernet over PCIe

Mar 04, 2024

Hi,


Following Bringing up an Ethernet Interface over PCIe and using tvnet in order to check bulk transfer between Orin EP and PC RP, am getting very low speeds relative to theoretical for PCIe 4.0 x8 which is ~16GB/s or ~128Gb/s. Uplink and downlink depending on which side initiates transfer with iperf3 are only 259-481Mb/s.


iperf3 -c 192.168.2.1

[ ID] Interval Transfer Bitrate Retr

[ 5] 0.00-10.04 sec 310 MBytes 259 Mbits/sec 0 sender

[ 5] 0.00-10.04 sec 310 MBytes 259 Mbits/sec receiver


iperf3 -c 192.168.2.2

[ ID] Interval Transfer Bitrate Retr

[ 5] 0.00-10.00 sec 574 MBytes 481 Mbits/sec 86 sender

[ 5] 0.00-10.01 sec 571 MBytes 479 Mbits/sec receiver


From some other posts 40Gb/s should be expected, since virtual Ethernet transfer is less efficient than direct DMA calls (~128Gb/s), but measured speeds are 100x smaller than that. From logs, RP.eth0.log (6.2 KB)

lists LnkSta: Speed 8GT/s Width x8 and EP.eth1.log (6.3 KB) lists LnkSta: Speed 2.5GT/s Width x1, which seems odd, but even with PCIe 4.0 x1 2GB/s should be 16Gb/s.


Does virtual Ethernet use DMA and does it require patching Orin EP kernel, or PC RP kernal or tvnet, for PCIe or Ethernet buffer sizes etc.?


Thanks.