Re: [PATCH 03/10] perf report: Apply --percent-limit to callchains also

From: Arnaldo Carvalho de Melo
Date: Tue Feb 02 2016 - 08:55:43 EST


Em Tue, Feb 02, 2016 at 10:05:37PM +0900, Namhyung Kim escreveu:
> Hi Arnaldo,
>
> On Mon, Feb 01, 2016 at 05:19:36PM -0300, Arnaldo Carvalho de Melo wrote:
> > Em Thu, Jan 28, 2016 at 12:40:50AM +0900, Namhyung Kim escreveu:
> > > Currently --percent-limit option only works for hist entries. However
> > > it'd be better to have same effect to callchains as well
> >
> > Documentation needs updating? It says:
> >
> > --percent-limit::
> > Do not show entries which have an overhead under that percent.
> > (Default: 0).
>
> Right. Is it ok to you?
>
> --percent-limit::
> Do not show entries and callchains which have an overhead under that
> percent. (Default: 0).

Ok, but is the default zero?

That was what I was alluding to, as as soon as I applied the patch that
made callchains honour this limit, about 60% of the entries in the
particular perf.data file I was 'perf report'ing lost its '+' (callchain
expansion) signs.

- Arnaldo

>
>
> Thanks,
> Namhyung
>
>
> >
> >
> > > Requested-by: Andi Kleen <andi@xxxxxxxxxxxxxx>
> > > Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx>
> > > ---
> > > tools/perf/builtin-report.c | 9 +++++++--
> > > 1 file changed, 7 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c
> > > index 2bf537f190a0..72ed0b46d5a1 100644
> > > --- a/tools/perf/builtin-report.c
> > > +++ b/tools/perf/builtin-report.c
> > > @@ -75,7 +75,10 @@ static int report__config(const char *var, const char *value, void *cb)
> > > return 0;
> > > }
> > > if (!strcmp(var, "report.percent-limit")) {
> > > - rep->min_percent = strtof(value, NULL);
> > > + double pcnt = strtof(value, NULL);
> > > +
> > > + rep->min_percent = pcnt;
> > > + callchain_param.min_percent = pcnt;
> > > return 0;
> > > }
> > > if (!strcmp(var, "report.children")) {
> > > @@ -633,8 +636,10 @@ parse_percent_limit(const struct option *opt, const char *str,
> > > int unset __maybe_unused)
> > > {
> > > struct report *rep = opt->value;
> > > + double pcnt = strtof(str, NULL);
> > >
> > > - rep->min_percent = strtof(str, NULL);
> > > + rep->min_percent = pcnt;
> > > + callchain_param.min_percent = pcnt;
> > > return 0;
> > > }
> > >
> > > --
> > > 2.6.4