Thread (25 messages) 25 messages, 3 authors, 2024-07-31

Re: [PATCH V8 03/15] tools/perf: Update TYPE_STATE_MAX_REGS to include max of regs in powerpc

From: Athira Rajeev <hidden>
Date: 2024-07-24 05:38:45
Also in: linux-perf-users, lkml

On 24 Jul 2024, at 12:36 AM, Arnaldo Carvalho de Melo [off-list ref] wrote:

On Thu, Jul 18, 2024 at 02:13:46PM +0530, Athira Rajeev wrote:
quoted
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
Hi Arnaldo

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