summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Rogers <irogers@google.com>2026-06-02 08:25:10 -0700
committerArnaldo Carvalho de Melo <acme@redhat.com>2026-06-03 16:50:34 -0300
commit661b1d83ef9ee997019cbf6428d3029fb9e9b0af (patch)
treeaebfbc4be7ba3a18fc304ab3e7fcbe16f7618226
parent70b3c4f734bbfd5664cd6e4eb007c108bf2b1c43 (diff)
perf lock-contention: Use perf_env e_machine rather than arch
Use the e_machine rather than arch string matching for powerpc. Signed-off-by: Ian Rogers <irogers@google.com> Acked-by: Namhyung Kim <namhyung@kernel.org> Cc: Alexander Gordeev <agordeev@linux.ibm.com> Cc: Heiko Carstens <hca@linux.ibm.com> Cc: Honglei Wang <jameshongleiwang@126.com> Cc: Jan Polensky <japo@linux.ibm.com> Cc: Sumanth Korikkar <sumanthk@linux.ibm.com> Cc: Thomas Richter <tmricht@linux.ibm.com> Cc: Vasily Gorbik <gor@linux.ibm.com> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
-rw-r--r--tools/perf/util/lock-contention.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/tools/perf/util/lock-contention.c b/tools/perf/util/lock-contention.c
index 92e7b7b572a2..119a7206f3cd 100644
--- a/tools/perf/util/lock-contention.c
+++ b/tools/perf/util/lock-contention.c
@@ -104,7 +104,8 @@ bool match_callstack_filter(struct machine *machine, u64 *callstack, int max_sta
struct map *kmap;
struct symbol *sym;
u64 ip;
- const char *arch = perf_env__arch(machine->env);
+ uint16_t e_machine = perf_env__e_machine(machine->env, /*e_flags=*/NULL);
+ bool is_powerpc = e_machine == EM_PPC64 || e_machine == EM_PPC;
if (list_empty(&callstack_filters))
return true;
@@ -125,8 +126,7 @@ bool match_callstack_filter(struct machine *machine, u64 *callstack, int max_sta
* incase first or second callstack index entry has 0
* address for powerpc.
*/
- if (!callstack || (!callstack[i] && (strcmp(arch, "powerpc") ||
- (i != 1 && i != 2))))
+ if (!callstack || (!callstack[i] && (!is_powerpc || (i != 1 && i != 2))))
break;
ip = callstack[i];