Re: [PATCH v4 0/3] perf tool: Enable cpu list for hybrid

From: Jin, Yao
Date: Mon Aug 09 2021 - 20:36:52 EST


Hi Jiri,

Any comments for v4 series?

Thanks
Jin Yao

On 7/23/2021 2:34 PM, Jin Yao wrote:
The perf-record and perf-stat have supported the option '-C/--cpus'
to count or collect only on the list of CPUs provided. This option
needs to be supported for hybrid as well.

v4:
---
Rename evlist__use_cpu_list to evlist__fix_hybrid_cpus
Add comments to evlist__fix_hybrid_cpus.

v3:
---
Rebase to latest perf/core branch.

v2:
---
Automatically map to hybrid pmu.

For example,

If cpu0-7 are 'cpu_core' and cpu9-11 are 'cpu_atom',

# perf stat -e cycles -C0,11 -- sleep 1
WARNING: use 0 in 'cpu_core' for 'cycles', skip other cpus in list.
WARNING: use 11 in 'cpu_atom' for 'cycles', skip other cpus in list.

Performance counter stats for 'CPU(s) 0,11':

1,914,704 cpu_core/cycles/
2,036,983 cpu_atom/cycles/

1.005815641 seconds time elapsed

It automatically selects cpu0 for cpu_core/cycles/, selects cpu11 for
cpu_atom/cycles/, also with some warnings output.

Jin Yao (3):
libperf: Add perf_cpu_map__default_new()
perf tools: Create hybrid flag in target
perf tools: Enable on a list of CPUs for hybrid

tools/lib/perf/cpumap.c | 5 ++
tools/lib/perf/include/perf/cpumap.h | 1 +
tools/perf/builtin-record.c | 7 +++
tools/perf/builtin-stat.c | 6 +++
tools/perf/util/evlist-hybrid.c | 73 ++++++++++++++++++++++++++++
tools/perf/util/evlist-hybrid.h | 1 +
tools/perf/util/evlist.c | 3 +-
tools/perf/util/pmu.c | 35 +++++++++++++
tools/perf/util/pmu.h | 4 ++
tools/perf/util/target.h | 1 +
10 files changed, 135 insertions(+), 1 deletion(-)