Re: [PATCH] perf tools: fix failed to use cpu list for uncore events

From: Arnaldo Carvalho de Melo
Date: Fri Feb 18 2022 - 08:01:36 EST


Em Fri, Feb 18, 2022 at 05:31:27PM +0800, zhengjun.xing@xxxxxxxxxxxxxxx escreveu:
> From: Zhengjun Xing <zhengjun.xing@xxxxxxxxxxxxxxx>
>
> The 'perf record' and 'perf stat' commands have supported the option
> '-C/--cpus' to count or collect only on the list of CPUs provided.
> commit 1d3351e631fc ("perf tools: Enable on a list of CPUs for hybrid")
> add it to be supported for hybrid. For hybrid support, it checks the
> cpu list are available on hybrid PMU. But when we test only uncore
> events(or events not in cpu_core and cpu_atom), there is a bug:
>
> Before:
> # perf stat -C0 -e uncore_clock/clockticks/ sleep 1
> failed to use cpu list 0
>
> In this case, for uncore event, its pmu_name is not cpu_core or cpu_atom,
> so in evlist__fix_hybrid_cpus, perf_pmu__find_hybrid_pmu should return
> NULL,both events_nr and unmatched_count should be 0 ,then the cpu list
> check function evlist__fix_hybrid_cpus return -1 and the error "failed
> to use cpu list 0" will happen. Bypass "events_nr=0" case then the issue
> is fixed.

Thanks, applied.

- Arnaldo