Re: [PATCH 20/57] perf c2c report: Add dcacheline dimension key

From: Arnaldo Carvalho de Melo
Date: Wed Oct 05 2016 - 06:45:35 EST


Em Wed, Oct 05, 2016 at 12:46:12AM +0200, Jiri Olsa escreveu:
> On Tue, Oct 04, 2016 at 01:50:12PM -0300, Arnaldo Carvalho de Melo wrote:
> > Em Thu, Sep 22, 2016 at 05:36:48PM +0200, Jiri Olsa escreveu:
> > > Adding dcacheline dimension key support. It
> > > displays cacheline address as hex number.
> > >
> > > Using c2c wrapper to standard 'dcacheline' object
> > > to defined own header and simple (just address)
> > > cacheline output.
> >
> > So, at this point I move from:
> >
> > # perf c2c report
> > Error: Invalid --fields key: `dcacheline'
> > #
> >
> > To:
> >
> > [root@jouet ~]# perf c2c report
> > Error: Unknown --fields key: `offset'
> > Segmentation fault (core dumped)
> > [root@jouet ~]#
>
> oops, attached patch should fix that, but I needed to change
> following patches:
>
> perf c2c report: Add cacheline hists processing
> perf c2c report: Decode c2c_stats for hist entries
>
> I updated perf/c2c_v4 branch with the fix and rebased
> to your current perf/core.. let me know if I need to
> repost
>
> thanks,
> jirka

ok, I'm trying to fix it myself, starting with this:

+ ret = c2c_hists__init(hists, sort);
+ if (ret)
+ free(hists);
+
+ return &hists->hists;

That is on "perf c2c report: Add cacheline hists processing"

>
> ---
> diff --git a/tools/perf/builtin-c2c.c b/tools/perf/builtin-c2c.c
> index 335c0fd30757..74c7822460e1 100644
> --- a/tools/perf/builtin-c2c.c
> +++ b/tools/perf/builtin-c2c.c
> @@ -86,7 +86,7 @@ he__get_c2c_hists(struct hist_entry *he,
>
> ret = c2c_hists__init(hists, sort);
> if (ret)
> - free(hists);
> + zfree(&hists);
>
> return hists;
> }