Re: [PATCH 38/79] libperf: Add perf_evlist__init function

From: Jiri Olsa
Date: Mon Jul 22 2019 - 18:17:43 EST


On Mon, Jul 22, 2019 at 04:39:25PM -0300, Arnaldo Carvalho de Melo wrote:

SNIP

>
> I'm applying it to fix this issue and avoid a bisection break. I'm now
> going to run 'perf test' after each cset too. And probably the next cset
> has this issue as well, i.e. reordering of initialization in the
> perf_evsel__init() case.
>
> diff --git a/tools/perf/util/evlist.c b/tools/perf/util/evlist.c
> index aacddd9b2d64..f4aa6cf80559 100644
> --- a/tools/perf/util/evlist.c
> +++ b/tools/perf/util/evlist.c
> @@ -49,11 +49,11 @@ void evlist__init(struct evlist *evlist, struct perf_cpu_map *cpus,
>
> for (i = 0; i < PERF_EVLIST__HLIST_SIZE; ++i)
> INIT_HLIST_HEAD(&evlist->heads[i]);
> + perf_evlist__init(&evlist->core);

right, needs to be before perf_evlist__set_maps call

thanks,
jirka

> perf_evlist__set_maps(evlist, cpus, threads);
> fdarray__init(&evlist->pollfd, 64);
> evlist->workload.pid = -1;
> evlist->bkw_mmap_state = BKW_MMAP_NOTREADY;
> - perf_evlist__init(&evlist->core);
> }
>
> struct evlist *evlist__new(void)