When testing UDP performance using iperf3 against a bare-metal Linux host, we observed a significant difference between Linux and hvisor environments.
How to reproduce:
iperf -s to start server on Rk3588
iperf3 -c <ip> -u -b 1000M -t 30 to send packet
Behaviour
- On bare-metal Linux, the UDP throughput is capped around ~400 Mbps even with -b 1000M, but packet loss is negligible.
- On hvisor, using the same test setup, the UDP throughput shows severe packet loss and unstable performance (see attached screenshot).
Notes
- UDP throughput should be closer to the Linux baseline with minimal packet loss under similar conditions. This issue suggests that hvisor’s UDP handling or virtual network path may have performance limitations or misconfigurations leading to excessive packet drops.