diff options
| author | Alexei Starovoitov <ast@kernel.org> | 2026-10-31 21:55:38 +0000 |
|---|---|---|
| committer | Alexei Starovoitov <ast@kernel.org> | 2026-11-02 22:20:01 +0000 |
| commit | 5eced83779fd60cfa2a1a86fd89d282d02d40d05 (patch) | |
| tree | 0e4c649f90e69245fac8f2d4a3ec393b91621f1b /scripts/basic | |
| parent | 40a3a2e686f8c749bb6420ace8190c49f712217e (diff) | |
| download | linux-5eced83779fd60cfa2a1a86fd89d282d02d40d05.tar.gz linux-5eced83779fd60cfa2a1a86fd89d282d02d40d05.zip | |
selftests/bpf: End the loop of parallel_test_bitmap after 50 ms
The two progs of parallel_test_bitmap change bits of the same words in a
loop of 10000000 iterations with can_loop. The loop goes on until may_goto
stops it. The functions that it calls retry a cmpxchg that fails:
do {
...
actual = cmpxchg(&bmp->bits[idx], old, new);
if (actual == old)
return true;
} while (can_loop);
return false;
The retry is always possible only while each stack frame has a time slice
of its own. With one time slice for all may_goto of a prog, a function that
is called after the time is up makes no iteration. The bit does not change,
and the test fails with -EINVAL, in 53 of 900 runs.
Leave the loop after 50 ms.
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Link: https://patch.msgid.link/20261031215543.682284-5-alexei.starovoitov@gmail.com
Diffstat (limited to 'scripts/basic')
0 files changed, 0 insertions, 0 deletions
