]> Git Repo - linux.git/commitdiff
perf test task_exit: No need for a cycles event to check if we get an PERF_RECORD_EXIT
authorArnaldo Carvalho de Melo <[email protected]>
Fri, 14 Jul 2023 18:29:31 +0000 (15:29 -0300)
committerArnaldo Carvalho de Melo <[email protected]>
Mon, 17 Jul 2023 13:27:44 +0000 (10:27 -0300)
The intent of this test is to check we get a PERF_RECORD_EXIT as asked
for by setting perf_event_attr.task=1.

When the test was written we didn't had the "dummy" event so we went
with the default event, "cycles".

There were reports of this test failing sometimes, one of these reports
was with a PREEMPT_RT_FULL, but I noticed it failing sometimes with an
aarch64 Firefly board.

In the kernel the call to perf_event_task_output(), that generates the
PERF_RECORD_EXIT may fail when there is not enough memory in the ring
buffer, if the ring buffer is paused, etc.

So switch to using the "dummy" event to use the ring buffer just for
what the test was designed for, avoiding uneeded PERF_RECORD_SAMPLEs.

Acked-by: Ian Rogers <[email protected]>
Cc: Adrian Hunter <[email protected]>
Cc: Jiri Olsa <[email protected]>
Cc: Juri Lelli <[email protected]>
Cc: Namhyung Kim <[email protected]>
Link: https://lore.kernel.org/lkml/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
tools/perf/tests/task-exit.c

index 25f075fa9125bd5324e34f04cf0878cb8d1e8c4a..968dddde6ddaf0bede4fc7679d57bbb4ad2cd35b 100644 (file)
@@ -58,9 +58,9 @@ static int test__task_exit(struct test_suite *test __maybe_unused, int subtest _
 
        signal(SIGCHLD, sig_handler);
 
-       evlist = evlist__new_default();
+       evlist = evlist__new_dummy();
        if (evlist == NULL) {
-               pr_debug("evlist__new_default\n");
+               pr_debug("evlist__new_dummy\n");
                return -1;
        }
 
This page took 0.057519 seconds and 4 git commands to generate.