Re: [PATCH 4/9] perf tools: Maintain cgroup hierarchy

From: Namhyung Kim
Date: Mon Feb 17 2020 - 14:22:20 EST


Hi Arnaldo,

On Mon, Feb 17, 2020 at 7:46 AM Arnaldo Carvalho de Melo
<acme@xxxxxxxxxx> wrote:
>
> Em Tue, Jan 21, 2020 at 10:42:46AM +0100, Jiri Olsa escreveu:
> > On Mon, Jan 20, 2020 at 10:57:47PM +0900, Namhyung Kim wrote:
> > > So I tried this but then realized that it's hard to get the perf_env later
> > > when it needs to convert a cgroup id to name (ie. in sort_entry.se_snprintf).
> > > I also checked maybe I can resolve it when a hist entry is added,
> > > but it doesn't have the pointer there too.
>
> > looks like there might be a path for standard report where hists
> > are part of evsel object:
> >
> > 'struct hist_entry' via ->hists to 'struct hists'
> > hists_to_evsel(hists) to 'struct evsel'
> > 'struct evsel' via ->evlist to 'struct evlist'
> > and there you have evlist->env ;-)
>
> Hey, recently I did work that ended up adding a 'struct maps' to 'struct
> map_symbol' and then hist_entry::ms has it, enough?
>
> i.e.:
>
> hist_entry::ms->maps->machine
>
> he->ms->maps->machine

Yep, that's enough for my use.

>
> > however I was wondering if we could add 'machine' pointer
> > to the hist object, that would make that simpler ;-)
>
> Directly from one of its hist_entries? As above?

Right, any path from hist_entry to perf_env would be ok.

>
> > not sure about the way.. would be nice if that'd work for
> > both evsel hists and standalone ones like in c2c
>
> > but maybe just some init helper that sets the pointer early on
> > might do the job
>
> Sorry for the delay in answering, was travelling/vacations, now taming a
> huge mailbox :-\

No problem, I'll send the next version soon.

Thanks
Namhyung