[PATCH v2 6/7] perf cs_etm: Record ts_source in AUXTRACE_INFO for ETMv4 and ETE

Suzuki K Poulose suzuki.poulose at arm.com
Tue Jan 3 07:15:58 PST 2023


On 03/01/2023 11:49, James Clark wrote:
> 
> 
> On 23/12/2022 09:28, Mike Leach wrote:
>> Hi,
>>
>> There was a discussion some time ago in one of our coresight regular
>> dev meetings about this.
>>
>> Can we just use only the necessary bits that TS source needs and leave
>> the remaining bits from the 64 as unused  for future expansion - i..e
>> use this as a bitfield rather than have 64 bits occupied for what is
>> effectively a 2 bit value.
>>
>> Perhaps call the full value something other than TS_SOURCE and have a
>> TS_SOURCE field with a known safe unset value.
> 
> If we did that, there wouldn't be any mechanism to detect if new values
> that were added were the value 0, or just not set/implemented/saved in
> the file. The current implementation of CS_ETM_NR_TRC_PARAMS allows us
> to add new fields, and detect if they exist or not without bumping the
> header version for each new sub field.
> 
> In this change HAS_PARAM() has been used to do this, but that can't be
> expanded to sub fields in the same 64 bits. I don't think space or
> performance are worth the extra complexity of dividing it up. And
> because this is just one block saved once in the header, so I'm not sure
> if it's worth it in this case. It would also make it harder to read the
> values on the raw dump mode.

I think it is fine to use the entire field for the time source, given
the header can be extended with new fields, without breaking
compatibility for future additions.

Suzuki

> 
> James




More information about the linux-arm-kernel mailing list