Re: [PATCH 10/47] perf tools: Force perf_evlist__set_maps to propagate maps through events

Arnaldo Carvalho de Melo
2015-07-21T17:25:47Z

Em Tue, Jul 21, 2015 at 02:31:30PM +0200, Jiri Olsa escreveu:
> Forcing perf_evlist__set_maps to propagate maps through events,
> so cpu/thread maps get set within evlist.

Applied

> Link: http://lkml.kernel.org/n/tip-0oqwhvjdr3jgfzkbd3qee5o0@git.kernel.org
> Signed-off-by: Jiri Olsa <jolsa@kernel.org>
> ---
> tools/perf/util/evlist.c | 17 +++++++++++++++++
> tools/perf/util/evlist.h | 11 +++--------
> 2 files changed, 20 insertions(+), 8 deletions(-)
>
> diff --git a/tools/perf/util/evlist.c b/tools/perf/util/evlist.c
> index f1714bedd5de..3b9f411a6b46 100644
> --- a/tools/perf/util/evlist.c
> +++ b/tools/perf/util/evlist.c
> @@ -1151,6 +1151,23 @@ out_delete_threads:
> return -1;
> }
>
> +int perf_evlist__set_maps(struct perf_evlist *evlist,
> + struct cpu_map *cpus,
> + struct thread_map *threads)
> +{
> + if (evlist->cpus)
> + cpu_map__put(evlist->cpus);
> +
> + evlist->cpus = cpus;
> +
> + if (evlist->threads)
> + thread_map__put(evlist->threads);
> +
> + evlist->threads = threads;
> +
> + return perf_evlist__propagate_maps(evlist, false);
> +}
> +
> int perf_evlist__apply_filters(struct perf_evlist *evlist, struct perf_evsel **err_evsel)
> {
> struct perf_evsel *evsel;
> diff --git a/tools/perf/util/evlist.h b/tools/perf/util/evlist.h
> index 037633c1da9d..406a8216a51e 100644
> --- a/tools/perf/util/evlist.h
> +++ b/tools/perf/util/evlist.h
> @@ -152,14 +152,9 @@ int perf_evlist__enable_event_idx(struct perf_evlist *evlist,
> void perf_evlist__set_selected(struct perf_evlist *evlist,
> struct perf_evsel *evsel);
>
> -static inline void perf_evlist__set_maps(struct perf_evlist *evlist,
> - struct cpu_map *cpus,
> - struct thread_map *threads)
> -{
> - evlist->cpus = cpus;
> - evlist->threads = threads;
> -}
> -
> +int perf_evlist__set_maps(struct perf_evlist *evlist,
> + struct cpu_map *cpus,
> + struct thread_map *threads);
> int perf_evlist__create_maps(struct perf_evlist *evlist, struct target *target);
> int perf_evlist__apply_filters(struct perf_evlist *evlist, struct perf_evsel **err_evsel);
>
> --
> 2.4.3