diff options
| author | Francesco Nigro <nigro.fra@gmail.com> | 2026-10-21 16:17:36 +0200 |
|---|---|---|
| committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2026-10-22 17:17:20 -0300 |
| commit | 3dabc8ad8ae024101dd0cfd42fd72df8817622f5 (patch) | |
| tree | 477a6df929b5d500c4f2c2f1544ee437361ac711 /scripts/Makefile.thinlto | |
| parent | 645d694dd01ce44d6ae0ebf5acd962b681bb0c1f (diff) | |
| download | linux-3dabc8ad8ae024101dd0cfd42fd72df8817622f5.tar.gz linux-3dabc8ad8ae024101dd0cfd42fd72df8817622f5.zip | |
perf test: Add test for events re-armed with PERF_EVENT_IOC_REFRESH
Open a sampling event with sample_period 1, re-arm it with
PERF_EVENT_IOC_REFRESH from its overflow signal handler, as
self-profilers such as async-profiler do, and check that each of 1000
events delivers a signal. One case uses a software event (page faults),
the other the syscalls:sys_enter_getppid tracepoint. The signal is a
real-time one, so overflows cannot be coalesced, and the page fault
buffer is marked MADV_NOHUGEPAGE so that each touched page faults once.
The tracepoint case fails since commit 18dbcbfabfffc4a5 ("perf: Fix the
POLL_HUP delivery breakage") only the first overflow is delivered. The
re-arming ioctl succeeds, but the event count stays at 1. It passes on
the parent commit. The software case passes on both.
The test was written with an AI coding assistant (Claude) from a
standalone reproducer; I reviewed it and ran it in QEMU on current
mainline, on that commit and on its parent.
Reviewed-by: Ian Rogers <irogers@google.com>
Signed-off-by: Francesco Nigro <nigro.fra@gmail.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'scripts/Makefile.thinlto')
0 files changed, 0 insertions, 0 deletions
