aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorAndrii Nakryiko <[email protected]>2020-12-23 12:06:52 -0800
committerDaniel Borkmann <[email protected]>2020-12-24 01:35:46 +0100
commit11b844b0b7c7c3dc8e8f4d0bbaad5e798351862c (patch)
tree91c0274f47f51b4f94bde30281d421c312b6188a /lib
parente7e518053c267bb6be3799520d9f4a34c7264a2e (diff)
selftests/bpf: Work-around EBUSY errors from hashmap update/delete
20b6cc34ea74 ("bpf: Avoid hashtab deadlock with map_locked") introduced a possibility of getting EBUSY error on lock contention, which seems to happen very deterministically in test_maps when running 1024 threads on low-CPU machine. In libbpf CI case, it's a 2 CPU VM and it's hitting this 100% of the time. Work around by retrying on EBUSY (and EAGAIN, while we are at it) after a small sleep. sched_yield() is too agressive and fails even after 20 retries, so I went with usleep(1) for backoff. Also log actual error returned to make it easier to see what's going on. Fixes: 20b6cc34ea74 ("bpf: Avoid hashtab deadlock with map_locked") Signed-off-by: Andrii Nakryiko <[email protected]> Signed-off-by: Daniel Borkmann <[email protected]> Acked-by: Song Liu <[email protected]> Link: https://lore.kernel.org/bpf/[email protected]
Diffstat (limited to 'lib')
0 files changed, 0 insertions, 0 deletions