diff options
| author | Sun Jian <sun.jian.kdev@gmail.com> | 2026-03-05 16:43:05 +0800 |
|---|---|---|
| committer | Alexei Starovoitov <ast@kernel.org> | 2026-03-18 17:08:54 -0700 |
| commit | 888329ba6c8baa7908e08561c6e89d3fc5680131 (patch) | |
| tree | 6ca4999cff1bd630286f22b4d66e4d64de13fd7b /tools/perf/scripts/python | |
| parent | 77378dabb50f593c756d393d8eacb0b91b758863 (diff) | |
selftests/bpf: Avoid spurious failures perf_link
perf_link creates a system-wide perf event pinned to CPU 0 (pid=-1, cpu=0)
and also pins the test thread to CPU 0. Under concurrent selftests this
can lead to cross-test interference and CPU 0 contention, making the test
flaky.
Create a per-task perf event instead (pid=0, cpu=-1) and drop CPU pinning
from burn_cpu(). Use barrier() to prevent the burn loop from being
optimized away. Drop the serial_ prefix so the test can run in parallel.
Also remove the stale TODO comment.
Tested:
./test_progs -t perf_link -vv
./test_progs -j$(nproc) -t perf_link -vv
for i in $(seq 1 50); do ./test_progs -j$(nproc) -t perf_link; done
Signed-off-by: Sun Jian <sun.jian.kdev@gmail.com>
Acked-by: Kumar Kartikeya Dwivedi <memxor@gmail.com>
Link: https://lore.kernel.org/r/20260305084306.283983-1-sun.jian.kdev@gmail.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions
