perf usage of arch/arm64/include/asm/cputype.h
Leo Yan
leo.yan at arm.com
Mon Jun 16 06:07:36 PDT 2025
On Mon, Jun 16, 2025 at 09:54:43AM +0000, Shameerali Kolothum Thodi wrote:
[...]
> > > -bool is_midr_in_range_list(struct midr_range const *ranges) -{
> > > - while (ranges->model)
> > > - if (is_midr_in_range(ranges++))
> > > - return true;
> > > return false;
> > > }
> > 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.
> --- 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(const
> struct 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
More information about the linux-arm-kernel
mailing list