From: Namhyung Kim <namhyung@kernel.org>
To: Anubhav Shelat <ashelat@redhat.com>
Cc: mpetlan@redhat.com, acme@kernel.org, irogers@google.com,
linux-perf-users@vger.kernel.org, peterz@infradead.org,
mingo@redhat.com, mark.rutland@arm.com,
alexander.shishkin@linux.intel.com, jolsa@kernel.org,
adrian.hunter@intel.com, kan.liang@linux.intel.com,
dapeng1.mi@linux.intel.com, james.clark@linaro.org
Subject: Re: [PATCH] perf trace: don't show comm/tid for regular syscalls for single-pid traces
Date: Thu, 11 Sep 2025 15:00:57 -0700 [thread overview]
Message-ID: <aMNGmR1pMsI6WFCa@google.com> (raw)
In-Reply-To: <20250821165831.184569-2-ashelat@redhat.com>
On Thu, Aug 21, 2025 at 12:58:32PM -0400, Anubhav Shelat wrote:
> Previously when attaching perf trace to a specific pid the output would
> look like this:
>
> ? ( ): vest/616160 ... [continued]: clock_nanosleep()) = 0
> 0.041 ( 0.013 ms): vest/616160 fstat(statbuf: 0xfffff2c60038) = 0
> 0.073 ( 0.008 ms): vest/616160 read(buf: 0x3bede330, count: 4096) = 17
> 0.090 (1000.095 ms): vest/616160 clock_nanosleep(rqtp: { .tv_sec: 1, .tv_nsec: 0 }, rmtp: 0xfffff2c601d8) = 0
> 1000.210 ( 0.136 ms): vest/616160 openat(dfd: CWD, filename: "/tmp/something.txt", flags: CREAT|TRUNC|WRONLY, mode: IRUGO|IWUGO) = 3
> 1000.361 ( 0.004 ms): vest/616160 fstat(fd: 3, statbuf: 0xfffff2c60088) = 0
> 1000.375 ( 0.018 ms): vest/616160 write(fd: 3, buf: SOME TEST STRING\10, count: 17) = 17
> 1000.395 ( 0.072 ms): vest/616160 close(fd: 3) = 0
> 1000.476 ( ): vest/616160 exit_group()
>
> which would cause an error in the perftool-testsuite since the comm/tid
> shouldn't be in trace lines for regular syscalls. With this change the
> output looks like this:
I'm not sure if it's the right test. It's controlled by the
trace->multiple_threads condition which I believe should use
trace->opts.no_inherit condition instead of the attribute of the
first event.
Thanks,
Namhyung
>
> ? ( ): vest/612038 ... [continued]: clock_nanosleep()) = 0
> 0.039 ( 0.012 ms): fstat(statbuf: 0xfffff8e94cb8) = 0
> 0.069 ( 0.008 ms): read(buf: 0x3b997330, count: 4096) = 17
> 0.086 (1000.436 ms): clock_nanosleep(rqtp: { .tv_sec: 1, .tv_nsec: 0 }, rmtp: 0xfffff8e94e58) = 0
> 1000.545 ( 0.136 ms): openat(dfd: CWD, filename: "/tmp/something.txt", flags: CREAT|TRUNC|WRONLY, mode: IRUGO|IWUGO) = 3
> 1000.700 ( 0.006 ms): fstat(fd: 3, statbuf: 0xfffff8e94d08) = 0
> 1000.720 ( 0.024 ms): write(fd: 3, buf: SOME TEST STRING\10, count: 17) = 17
> 1000.750 ( 0.073 ms): close(fd: 3) = 0
> 1000.833 ( ): vest/612038 exit_group()
>
> Signed-off-by: Anubhav Shelat <ashelat@redhat.com>
> ---
> tools/perf/builtin-trace.c | 10 ++++++++--
> 1 file changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/tools/perf/builtin-trace.c b/tools/perf/builtin-trace.c
> index fe737b3ac6e6..4cc38ee6aad9 100644
> --- a/tools/perf/builtin-trace.c
> +++ b/tools/perf/builtin-trace.c
> @@ -2955,11 +2955,17 @@ static int trace__sys_exit(struct trace *trace, struct evsel *evsel,
> if (trace->summary_only || (ret >= 0 && trace->failure_only))
> goto out;
>
> - trace__fprintf_entry_head(trace, thread, duration, duration_calculated, ttrace->entry_time, trace->output);
> -
> if (ttrace->entry_pending) {
> + if (trace->opts.target.pid) {
> + if (trace->show_tstamp)
> + printed = trace__fprintf_tstamp(trace, ttrace->entry_time, trace->output);
> + if (trace->show_duration)
> + printed += fprintf_duration(duration, duration_calculated, trace->output);
> + } else
> + trace__fprintf_entry_head(trace, thread, duration, duration_calculated, ttrace->entry_time, trace->output);
> printed = fprintf(trace->output, "%s", ttrace->entry_str);
> } else {
> + trace__fprintf_entry_head(trace, thread, duration, duration_calculated, ttrace->entry_time, trace->output);
> printed += fprintf(trace->output, " ... [");
> color_fprintf(trace->output, PERF_COLOR_YELLOW, "continued");
> printed += 9;
> --
> 2.50.1
>
prev parent reply other threads:[~2025-09-11 22:01 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-21 16:58 [PATCH] perf trace: don't show comm/tid for regular syscalls for single-pid traces Anubhav Shelat
2025-09-11 15:27 ` Anubhav Shelat
2025-09-16 14:33 ` Arnaldo Carvalho de Melo
2025-09-16 16:35 ` Anubhav Shelat
2025-09-11 22:00 ` Namhyung Kim [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aMNGmR1pMsI6WFCa@google.com \
--to=namhyung@kernel.org \
--cc=acme@kernel.org \
--cc=adrian.hunter@intel.com \
--cc=alexander.shishkin@linux.intel.com \
--cc=ashelat@redhat.com \
--cc=dapeng1.mi@linux.intel.com \
--cc=irogers@google.com \
--cc=james.clark@linaro.org \
--cc=jolsa@kernel.org \
--cc=kan.liang@linux.intel.com \
--cc=linux-perf-users@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=mingo@redhat.com \
--cc=mpetlan@redhat.com \
--cc=peterz@infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.