Re: [PATCH net] selftests: net: let big_tcp test cope with slow env

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 2024-02-02 at 17:13 +0100, Eric Dumazet wrote:
> On Fri, Feb 2, 2024 at 5:07 PM Paolo Abeni <pabeni@xxxxxxxxxx> 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 <pabeni@xxxxxxxxxx>
> > ---
> >  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]

I haven't dug into the netperf source, but the above would be
consistent with what I observe: in my VM I see 16Kb writes and
tcp_wmem[1] is 16K.

> Reviewed-by: Eric Dumazet <edumazet@xxxxxxxxxx>

Thanks!

Paolo






[Index of Archives]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux