Re: [PATCH v1 4/5] perf, tools: Add fallback in perf_evsel__nr_cpus for no map

From: Jiri Olsa
Date: Mon Nov 13 2017 - 04:22:37 EST


On Thu, Nov 09, 2017 at 06:55:27AM -0800, Andi Kleen wrote:
> From: Andi Kleen <ak@xxxxxxxxxxxxxxx>
>
> Support the case of the event having no cpumap in perf_evsel__nr_cpus.
> Just return 1 in this case. This can happen in perf script
> when it uses the perf stat shadow functions.

why 1, where in shadow code? you can synthesize cpus for event
via event_update event

jirka

>
> Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx>
> ---
> tools/perf/util/evsel.h | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/tools/perf/util/evsel.h b/tools/perf/util/evsel.h
> index db658785d828..25f21cde8826 100644
> --- a/tools/perf/util/evsel.h
> +++ b/tools/perf/util/evsel.h
> @@ -157,7 +157,8 @@ static inline struct cpu_map *perf_evsel__cpus(struct perf_evsel *evsel)
>
> static inline int perf_evsel__nr_cpus(struct perf_evsel *evsel)
> {
> - return perf_evsel__cpus(evsel)->nr;
> + struct cpu_map *map = perf_evsel__cpus(evsel);
> + return map ? map->nr : 1;
> }
>
> void perf_counts_values__scale(struct perf_counts_values *count,
> --
> 2.13.6
>