perf trace: Use perf_evsel__sc_tp_{uint,ptr} for "id"/"args" handling syscalls:* events
tip-bot for Arnaldo Carvalho de Melo
merge botCommit-ID: f3acd8869b9badcfd91cf50a2b6242be7b9368e2 Gitweb: https://git.kernel.org/tip/f3acd8869b9badcfd91cf50a2b6242be7b9368e2 Author: Arnaldo Carvalho de Melo <[email protected]> AuthorDate: Thu, 2 Aug 2018 15:11:58 -0300 Committer: Arnaldo Carvalho de Melo <[email protected]> CommitDate: Thu, 2 Aug 2018 15:39:00 -0300
perf trace: Use perf_evsel__sc_tp_{uint,ptr} for "id"/"args" handling syscalls:* events
Now it looks just about the same as for the trace__sys_{enter,exit}.
Cc Adrian Hunter <[email protected]>
Cc David Ahern <[email protected]>
Cc Jiri Olsa <[email protected]>
Cc Namhyung Kim <[email protected]>
Cc Wang Nan <[email protected]>
Signed-off-by Arnaldo Carvalho de Melo <[email protected]>
--- tools/perf/builtin-trace.c | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-)
tools/perf/builtin-trace.c +3 -10
@@ -1693,20 +1693,13 @@ out_put:static int trace__fprintf_sys_enter (struct trace *trace,struct perf_evsel *evsel,struct perf_sample *sample) { -struct format_field *field =perf_evsel__field (evsel,"__syscall_nr" );struct thread_trace *ttrace;struct thread *thread; -struct syscall *sc; +int id =perf_evsel__sc_tp_uint (evsel, id, sample), err =-1 ; +struct syscall *sc =trace__syscall_info (trace, evsel, id);char msg[1024 ]; -int id, err =-1 ;void *args; -if (field ==NULL ) -return -1 ; - - id =format_field__intval (field, sample, evsel->needs_swap); - sc =trace__syscall_info (trace, evsel, id); -if (sc ==NULL )return -1 ;
@@ -1719,7 +1712,7 @@ static int trace__fprintf_sys_enter(struct trace *trace, struct perf_evsel *evseif (ttrace ==NULL ) goto out_put; - args = sample->raw_data + field->offset +sizeof (u64);/* skip __syscall_nr, there is where args are */ + args =perf_evsel__sc_tp_ptr (evsel, args, sample);syscall__scnprintf_args (sc, msg,sizeof (msg), args, trace, thread);fprintf (trace->output,"%s" , msg); err =0 ;