perf trace: Extract the comm/tid printing for syscall enter
authorArnaldo Carvalho de Melo <acme@redhat.com>
Tue, 21 Aug 2018 14:40:09 +0000 (11:40 -0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Thu, 30 Aug 2018 18:52:19 +0000 (15:52 -0300)
Will be used with augmented syscalls, where we haven't transitioned
completely to combining sys_enter_FOO with sys_exit_FOO, so we'll go
as far as having it similar to the end result, strace like, as possible.

Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Wang Nan <wangnan0@huawei.com>
Link: https://lkml.kernel.org/n/tip-canomaoiybkswwnhj69u9ae4@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/builtin-trace.c

index bcf882afd6d08c968d2318b2c7453d71dca70ecd..92488edd00eb35062f06b9b48fdaaef24f662505 100644 (file)
@@ -1144,11 +1144,9 @@ static void sig_handler(int sig)
        interrupted = sig == SIGINT;
 }
 
-static size_t trace__fprintf_entry_head(struct trace *trace, struct thread *thread,
-                                       u64 duration, bool duration_calculated, u64 tstamp, FILE *fp)
+static size_t trace__fprintf_comm_tid(struct trace *trace, struct thread *thread, FILE *fp)
 {
-       size_t printed = trace__fprintf_tstamp(trace, tstamp, fp);
-       printed += fprintf_duration(duration, duration_calculated, fp);
+       size_t printed = 0;
 
        if (trace->multiple_threads) {
                if (trace->show_comm)
@@ -1159,6 +1157,14 @@ static size_t trace__fprintf_entry_head(struct trace *trace, struct thread *thre
        return printed;
 }
 
+static size_t trace__fprintf_entry_head(struct trace *trace, struct thread *thread,
+                                       u64 duration, bool duration_calculated, u64 tstamp, FILE *fp)
+{
+       size_t printed = trace__fprintf_tstamp(trace, tstamp, fp);
+       printed += fprintf_duration(duration, duration_calculated, fp);
+       return printed + trace__fprintf_comm_tid(trace, thread, fp);
+}
+
 static int trace__process_event(struct trace *trace, struct machine *machine,
                                union perf_event *event, struct perf_sample *sample)
 {