Re: [PATCH V8 03/15] tools/perf: Update TYPE_STATE_MAX_REGS to include max of regs in powerpc
From: Arnaldo Carvalho de Melo <acme@kernel.org>
Date: 2024-07-23 19:06:33
Also in:
linux-perf-users, lkml
From: Arnaldo Carvalho de Melo <acme@kernel.org>
Date: 2024-07-23 19:06:33
Also in:
linux-perf-users, lkml
On Thu, Jul 18, 2024 at 02:13:46PM +0530, Athira Rajeev wrote:
TYPE_STATE_MAX_REGS is arch-dependent. Currently this is defined to be 16. While checking if reg is valid using has_reg_type, max value is checked using TYPE_STATE_MAX_REGS value. Define this conditionally for powerpc.
So what would happen if I get a perf.data file on a powerpc system and then try to do data-type profiling on a x86 system? I'm processing this now, but please consider fixing this up in some other fashion, I think we have support for collecting registers in a way that perf.data has all that is needed for us to print them in a cross arch way, no? I see there is the FIXME there, ok. - Arnaldo
Reviewed-and-tested-by: Kajol Jain [off-list ref] Reviewed-by: Namhyung Kim <namhyung@kernel.org> Signed-off-by: Athira Rajeev<redacted> --- tools/perf/util/annotate-data.h | 4 ++++ 1 file changed, 4 insertions(+)diff --git a/tools/perf/util/annotate-data.h b/tools/perf/util/annotate-data.h index 6fe8ee8b8410..992b7ce4bd11 100644 --- a/tools/perf/util/annotate-data.h +++ b/tools/perf/util/annotate-data.h@@ -189,7 +189,11 @@ struct type_state_stack { }; /* FIXME: This should be arch-dependent */ +#ifdef __powerpc__ +#define TYPE_STATE_MAX_REGS 32 +#else #define TYPE_STATE_MAX_REGS 16 +#endif /* * State table to maintain type info in each register and stack location.-- 2.43.0