[REGRESSION] Massive virtio-net throughput drop in guest VM with Linux 6.8+
From: Markus Fohrer
Date: Wed Apr 02 2025 - 17:18:48 EST
Hi,
I'm observing a significant performance regression in KVM guest VMs using virtio-net with recent Linux kernels (6.8.1+ and 6.14).
When running on a host system equipped with a Broadcom NetXtreme-E (bnxt_en) NIC and AMD EPYC CPUs, the network throughput in the guest drops to 100–200 KB/s. The same guest configuration performs normally (~100 MB/s) when using kernel 6.8.0 or when the VM is moved to a host with Intel NICs.
Test environment:
- Host: QEMU/KVM, Linux 6.8.1 and 6.14.0
- Guest: Linux with virtio-net interface
- NIC: Broadcom BCM57416 (bnxt_en driver, no issues at host level)
- CPU: AMD EPYC
- Storage: virtio-scsi
- VM network: virtio-net, virtio-scsi (no CPU or IO bottlenecks)
- Traffic test: iperf3, scp, wget consistently slow in guest
This issue is not present:
- On 6.8.0
- On hosts with Intel NICs (same VM config)
I have bisected the issue to the following upstream commit:
49d14b54a527 ("virtio-net: Suppress tx timeout warning for small tx")
https://git.kernel.org/linus/49d14b54a527
Reverting this commit restores normal network performance in affected guest VMs.
I’m happy to provide more data or assist with testing a potential fix.
Thanks,
Markus Fohrer