blob: bdf753d8b1dd4e5889f2c81104980cf4cd3fe260 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
device: 0.788
network: 0.691
vnc: 0.690
graphic: 0.672
instruction: 0.633
socket: 0.571
semantic: 0.508
boot: 0.310
mistranslation: 0.282
other: 0.260
assembly: 0.154
KVM: 0.115
TCP performance problems - GSO/TSO, MSS, 8139 related (Ignores lower MTU from PMTUD/MSS)
Description of problem:
MTU handling on guests using an RTL8139 virtualized NIC is broken; net/hw/8139.c works with a static MTU of 1500b for TCP offloading, leading to low throughput when clients connect from sub 1500MTU networks. PMTUD is ignored, and locking to a lower MTU in the OS mitigates the issue.
Steps to reproduce:
1. Create a guest with an RTL8139 nic
2. Try to retrieve a file from a client behind a sub 1500 MTU link
3. Observe low bandwidth due to retransmits
Additional information:
I just debugged this issue for an NGO which, for whatever reason, had an RTL8139 NIC in their guest. After i finally traced this to the RTL8139, i found this qemu-devel/netdev thread from six years ago, which apparently already debugged this issue and proposed a patch: https://lore.kernel.org/all/20161114162505.GD26664@stefanha-x1.localdomain/
I did not test the patch proposed there, but note that `net/hw/8139.c` still looks as discussed in that qemu-devel/netdev thread. As i haven't found a bug report in the archives, i figured you might want to know.
|