[PATCH v8 12/17] perf lock-contention: Use perf_env e_machine rather than arch

Ian Rogers
2026-05-02T07:00:18Z

Use the e_machine rather than arch string matching for powerpc.

Signed-off-by: Ian Rogers <irogers@google.com>
---
tools/perf/util/lock-contention.c | 6 +++---
1 file 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];
--
2.54.0.545.g6539524ca2-goog