On Fri, Feb 2, 2024 at 5:07 PM Paolo Abeni <pab...@redhat.com> wrote: > > In very slow environments, most big TCP cases including > segmentation and reassembly of big TCP packets have a good > chance to fail: by default the TCP client uses write size > well below 64K. If the host is low enough autocorking is > unable to build real big TCP packets. > > Address the issue using much larger write operations. > > Note that is hard to observe the issue without an extremely > slow and/or overloaded environment; reduce the TCP transfer > time to allow for much easier/faster reproducibility. > > Fixes: 6bb382bcf742 ("selftests: add a selftest for big tcp") > Signed-off-by: Paolo Abeni <pab...@redhat.com> > --- > tools/testing/selftests/net/big_tcp.sh | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/tools/testing/selftests/net/big_tcp.sh > b/tools/testing/selftests/net/big_tcp.sh > index cde9a91c4797..2db9d15cd45f 100755 > --- a/tools/testing/selftests/net/big_tcp.sh > +++ b/tools/testing/selftests/net/big_tcp.sh > @@ -122,7 +122,9 @@ do_netperf() { > local netns=$1 > > [ "$NF" = "6" ] && serip=$SERVER_IP6 > - ip net exec $netns netperf -$NF -t TCP_STREAM -H $serip 2>&1 > >/dev/null > + > + # use large write to be sure to generate big tcp packets > + ip net exec $netns netperf -$NF -t TCP_STREAM -l 1 -H $serip -- -m > 262144 2>&1 >/dev/null > }
Interesting. I think we set tcp_wmem[1] to 262144 in our hosts. I think netperf default depends on tcp_wmem[1] Reviewed-by: Eric Dumazet <eduma...@google.com>