linux-perf-users.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Anubhav Shelat <ashelat@redhat.com>
To: mpetlan@redhat.com, acme@kernel.org, namhyung@kernel.org,
	irogers@google.com, linux-perf-users@vger.kernel.org
Cc: 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,
	Anubhav Shelat <ashelat@redhat.com>
Subject: [PATCH] perf trace: don't show comm/tid for regular syscalls for single-pid traces
Date: Thu, 21 Aug 2025 12:58:32 -0400	[thread overview]
Message-ID: <20250821165831.184569-2-ashelat@redhat.com> (raw)

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:

         ? (         ): 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


             reply	other threads:[~2025-08-21 16:59 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-08-21 16:58 Anubhav Shelat [this message]
2025-09-11 15:27 ` [PATCH] perf trace: don't show comm/tid for regular syscalls for single-pid traces 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

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=20250821165831.184569-2-ashelat@redhat.com \
    --to=ashelat@redhat.com \
    --cc=acme@kernel.org \
    --cc=adrian.hunter@intel.com \
    --cc=alexander.shishkin@linux.intel.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=namhyung@kernel.org \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).