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

From: Athira Rajeev
Date: Wed Jul 24 2024 - 01:38:57 EST




> On 24 Jul 2024, at 12:36 AM, Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> wrote:
>
> 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
>

Hi Arnaldo

Sure, thanks.
>> Reviewed-and-tested-by: Kajol Jain <kjain@xxxxxxxxxxxxx>
>> Reviewed-by: Namhyung Kim <namhyung@xxxxxxxxxx>
>> Signed-off-by: Athira Rajeev<atrajeev@xxxxxxxxxxxxxxxxxx>
>> ---
>> 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