diff options
author | Arnaldo Carvalho de Melo <acme@redhat.com> | 2013-09-20 12:19:41 -0300 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2013-10-09 17:41:02 -0300 |
commit | 4aa5823225c70efba758750029504807cd30b925 (patch) | |
tree | 83cf014a17838a152c19c9654cb3491bf45d24d9 /tools/perf/builtin-trace.c | |
parent | 453350dd0f0245b91b1e43310f5966fb1c51e7bd (diff) | |
download | talos-op-linux-4aa5823225c70efba758750029504807cd30b925.tar.gz talos-op-linux-4aa5823225c70efba758750029504807cd30b925.zip |
perf trace: Don't supress zeroed args when there is an strarray entry for it
Case in hand:
9.682 ( 0.001 ms): Xorg/13079 setitimer(which: REAL, value: 0x7fffede42470) = 0
ITIMER_REAL is zero.
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/n/tip-6hnoqsjh99t4hxi3xu2nlwep@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/builtin-trace.c')
-rw-r--r-- | tools/perf/builtin-trace.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/tools/perf/builtin-trace.c b/tools/perf/builtin-trace.c index 8855207deae8..27b0ec88cb23 100644 --- a/tools/perf/builtin-trace.c +++ b/tools/perf/builtin-trace.c @@ -940,8 +940,15 @@ static size_t syscall__scnprintf_args(struct syscall *sc, char *bf, size_t size, field = field->next, ++arg.idx, bit <<= 1) { if (arg.mask & bit) continue; - - if (args[arg.idx] == 0) + /* + * Suppress this argument if its value is zero and + * and we don't have a string associated in an + * strarray for it. + */ + if (args[arg.idx] == 0 && + !(sc->arg_scnprintf && + sc->arg_scnprintf[arg.idx] == SCA_STRARRAY && + sc->arg_parm[arg.idx])) continue; printed += scnprintf(bf + printed, size - printed, |