Re: [PATCH 1/1] perf test task_exit: No need for a cycles event to check if we get an PERF_RECORD_EXIT

From: Arnaldo Carvalho de Melo
Date: Fri Jul 14 2023 - 14:44:47 EST


Forgot to CC lkml :-\

Em Fri, Jul 14, 2023 at 03:39:22PM -0300, Arnaldo Carvalho de Melo escreveu:
> 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 have 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 kernel, but I noticed it failing sometimes
> on 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.
>
> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx>
> Cc: Ian Rogers <irogers@xxxxxxxxxx>
> Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
> Cc: Juri Lelli <juri.lelli@xxxxxxxxxx>
> Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
> ---
> tools/perf/tests/task-exit.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/tools/perf/tests/task-exit.c b/tools/perf/tests/task-exit.c
> index 25f075fa9125bd53..968dddde6ddaf0be 100644
> --- a/tools/perf/tests/task-exit.c
> +++ b/tools/perf/tests/task-exit.c
> @@ -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;
> }
>
> --
> 2.37.1
>

--

- Arnaldo