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

Namhyung Kim posted 1 patch 1 day, 23 hours ago
tools/perf/builtin-trace.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
[PATCH v2] perf trace: Skip unnecessary synthesis for summary-only mode
Posted by Namhyung Kim 1 day, 23 hours ago
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@kernel.org>
---
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
Re: [PATCH v2] perf trace: Skip unnecessary synthesis for summary-only mode
Posted by Namhyung Kim 1 day ago
On Wed, 01 Apr 2026 16:05:09 -0700, Namhyung Kim 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.
> 
> 
Applied to perf-tools-next, thanks!

Best regards,
Namhyung
Re: [PATCH v2] perf trace: Skip unnecessary synthesis for summary-only mode
Posted by Ian Rogers 1 day, 23 hours ago
On Wed, Apr 1, 2026 at 4:05 PM Namhyung Kim <namhyung@kernel.org> 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@kernel.org>

Reviewed-by: Ian Rogers <irogers@google.com>

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
>