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

From: Arnaldo Carvalho de Melo
Date: Mon Feb 17 2020 - 10:46:10 EST


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

> 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?

> 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 :-\

- Arnaldo