On Mon, Aug 16, 2021 at 9:57 PM Yucong Sun <fallentree@xxxxxx> wrote: > > Using a fixed delay of 1 microsecond has proven flaky in slow CPU environment, > e.g. Github Actions CI system. This patch adds exponential backoff with a cap > of 50ms to reduce the flakiness of the test. Initial delay is chosen at random > in the range [0ms, 5ms). > > Signed-off-by: Yucong Sun <fallentree@xxxxxx> > --- Thanks for the fast follow-up! Applied to bpf-next. Let's see what pops up next :) > tools/testing/selftests/bpf/test_maps.c | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/tools/testing/selftests/bpf/test_maps.c b/tools/testing/selftests/bpf/test_maps.c > index 2caf58b40d40..340695d5d652 100644 > --- a/tools/testing/selftests/bpf/test_maps.c > +++ b/tools/testing/selftests/bpf/test_maps.c > @@ -1420,11 +1420,16 @@ static int map_update_retriable(int map_fd, const void *key, const void *value, > > static int map_delete_retriable(int map_fd, const void *key, int attempts) > { > + int delay = rand() % MIN_DELAY_RANGE_US; > + > while (bpf_map_delete_elem(map_fd, key)) { > if (!attempts || (errno != EAGAIN && errno != EBUSY)) > return -errno; > > - usleep(1); > + if (delay <= MAX_DELAY_US / 2) > + delay *= 2; > + > + usleep(delay); > attempts--; > } > > -- > 2.30.2 >