Thread (16 messages) 16 messages, 6 authors, 2025-06-18

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(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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help