Kevin Krakauer wrote: > GRO tests are timing dependent and can easily flake. This is partially > mitigated in gro.sh by giving each subtest 3 chances to pass. However, > this still flakes on some machines. Reduce the flakiness by: > > - Bumping retries to 6. > - Setting napi_defer_hard_irqs to 1 to reduce the chance that GRO is > flushed prematurely. This also lets us reduce the gro_flush_timeout > from 1ms to 100us. > > Tested: Ran `gro.sh -t large` 1000 times. There were no failures with > this change. Ran inside strace to increase flakiness. > > Signed-off-by: Kevin Krakauer <krakauer@xxxxxxxxxx> Nice! Thanks Reviewed-by: Willem de Bruijn <willemb@xxxxxxxxxx> > --- > tools/testing/selftests/net/gro.sh | 4 ++-- > tools/testing/selftests/net/setup_veth.sh | 3 ++- > 2 files changed, 4 insertions(+), 3 deletions(-) > > diff --git a/tools/testing/selftests/net/gro.sh b/tools/testing/selftests/net/gro.sh > index aabd6e5480b8..9e3f186bc2a1 100755 > --- a/tools/testing/selftests/net/gro.sh > +++ b/tools/testing/selftests/net/gro.sh > @@ -18,10 +18,10 @@ run_test() { > "--smac" "${CLIENT_MAC}" "--test" "${test}" "--verbose" ) > > setup_ns > - # Each test is run 3 times to deflake, because given the receive timing, > + # Each test is run 6 times to deflake, because given the receive timing, Only if respinning: this was always imprecise: it is run up to X times. But exits immediately on success.