Messages in this thread | | | Date | Thu, 30 Aug 2018 10:57:45 +0200 | From | Jiri Olsa <> | Subject | Re: [PATCH v1 05/10] perf, tools, script: Print DSO for callindent |
| |
On Wed, Aug 29, 2018 at 10:18:29AM -0700, Andi Kleen wrote: > From: Andi Kleen <ak@linux.intel.com> > > Now that we don't need to print the IP/ADDR for callindent the DSO > is also not printed. It's useful for some cases, so add an own DSO > printout for callindent for the case when IP/ADDR is not enabled.
please put before/after outputs to changelogs
thanks, jirka
> > Signed-off-by: Andi Kleen <ak@linux.intel.com> > --- > tools/perf/builtin-script.c | 9 ++++++++- > 1 file changed, 8 insertions(+), 1 deletion(-) > > diff --git a/tools/perf/builtin-script.c b/tools/perf/builtin-script.c > index bae960c56763..6a470dd8f2d0 100644 > --- a/tools/perf/builtin-script.c > +++ b/tools/perf/builtin-script.c > @@ -1116,6 +1116,7 @@ static int perf_sample__fprintf_callindent(struct perf_sample *sample, > const char *name = NULL; > static int spacing; > int len = 0; > + int dlen = 0; > u64 ip = 0; > > /* > @@ -1142,6 +1143,12 @@ static int perf_sample__fprintf_callindent(struct perf_sample *sample, > ip = sample->ip; > } > > + if (PRINT_FIELD(DSO) && !(PRINT_FIELD(IP) || PRINT_FIELD(ADDR))) { > + dlen += fprintf(fp, "("); > + dlen += map__fprintf_dsoname(al->map, fp); > + dlen += fprintf(fp, ")\t"); > + } > + > if (name) > len = fprintf(fp, "%*s%s", (int)depth * 4, "", name); > else if (ip) > @@ -1160,7 +1167,7 @@ static int perf_sample__fprintf_callindent(struct perf_sample *sample, > if (len < spacing) > len += fprintf(fp, "%*s", spacing - len, ""); > > - return len; > + return len + dlen; > } > > static int perf_sample__fprintf_insn(struct perf_sample *sample, > -- > 2.17.1 >
| |