Re: perf usage of arch/arm64/include/asm/cputype.h
From: Leo Yan <leo.yan@arm.com>
Date: 2025-06-16 13:07:39
Also in:
lkml
On Mon, Jun 16, 2025 at 09:54:43AM +0000, Shameerali Kolothum Thodi wrote: [...]
quoted
quoted
-bool is_midr_in_range_list(struct midr_range const *ranges) -{ - while (ranges->model) - if (is_midr_in_range(ranges++)) - return true; return false; }
quoted
Looks ok to me. You could do it with slightly less churn on the kernel side if you keep the function name and arguments the same there. There's only one usage in Perf so that one could be renamed and have the midr argument added back in.+1. Can we use a separate one for perf here, something like below(untested)?
Thanks for working on this. Agreed.
quoted hunk ↗ jump to hunk
--- a/tools/perf/util/arm-spe.c +++ b/tools/perf/util/arm-spe.c@@ -842,6 +842,18 @@ static void arm_spe__synth_memory_level(conststruct arm_spe_record *record, data_src->mem_lvl |= PERF_MEM_LVL_REM_CCE1; } +static bool is_perf_midr_in_range_list(u32 midr, struct midr_range const *ranges) +{ + while (ranges->model) { + if (midr_is_cpu_model_range(midr, ranges->model, + ranges->rv_min, ranges->rv_max)) { + return true; + } + ranges++; + } + return false; +}
Maybe we can make it more general. For example, move this function into a common header such as tools/perf/arch/arm64/include/cputype.h. Then, util/arm-spe.c can include this header. Thanks, Leo