Re: [PATCH v2 3/3] selftests/net: deflake GRO tests

From: Willem de Bruijn
Date: Thu Feb 27 2025 - 11:20:41 EST


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.