[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