Re: [PATCH v2] perf trace: Skip unnecessary synthesis for summary-only mode

From: Ian Rogers

Date: Wed Apr 01 2026 - 19:25:37 EST


On Wed, Apr 1, 2026 at 4:05 PM Namhyung Kim <namhyung@xxxxxxxxxx> wrote:
>
> It needs to synthesize task info for the comm name. The mmap
> information is only needed for callchain symbolization which is not used
> by the summary mode. Also total or cgroup summary mode don't require
> the task info. Let's skip the processing if possible.
>
> Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx>

Reviewed-by: Ian Rogers <irogers@xxxxxxxxxx>

Thanks,
Ian

> ---
> v2) minimize the diff (Ian)
>
> tools/perf/builtin-trace.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/tools/perf/builtin-trace.c b/tools/perf/builtin-trace.c
> index f487fbaa0ad60028..d121640ace6e1456 100644
> --- a/tools/perf/builtin-trace.c
> +++ b/tools/perf/builtin-trace.c
> @@ -2004,9 +2004,13 @@ static int trace__symbols_init(struct trace *trace, int argc, const char **argv,
> if (err < 0)
> goto out;
>
> + if (trace->summary_only && trace->summary_mode != SUMMARY__BY_THREAD)
> + goto out;
> +
> err = __machine__synthesize_threads(trace->host, &trace->tool, &trace->opts.target,
> evlist->core.threads, trace__tool_process,
> - /*needs_mmap=*/callchain_param.enabled,
> + /*needs_mmap=*/callchain_param.enabled &&
> + !trace->summary_only,
> /*mmap_data=*/false,
> /*nr_threads_synthesize=*/1);
> out:
> --
> 2.53.0.1213.gd9a14994de-goog
>