[PATCH v5 2/6] perf arm64: Allow version comparisons of CPU IDs

John Garry john.g.garry at oracle.com
Mon Aug 14 07:43:48 PDT 2023


On 14/08/2023 15:15, James Clark wrote:
> 
> On 14/08/2023 14:07, John Garry wrote:
>> On 11/08/2023 15:39, James Clark wrote:
>>> Currently variant and revision fields are masked out of the MIDR so
>>> it's not possible to compare different versions of the same CPU.
>>> In a later commit a workaround will be removed just for N2 r0p3, so
>>> enable comparisons on version.
>>>
>>> This has the side effect of changing the MIDR stored in the header of
>>> the perf.data file to no longer have masked version fields.
>> Did you consider adding a raw version of _get_cpuid(), which returns the
>> full MIDR just for the purpose of caller strcmp_cpuid_str()?
> I did, but I thought that seeing as it would only be used in one place,
> and that changing the existing one didn't break anything, that it was
> better to not fragment the CPU ID interface. I thought it might also
> have repercussions for the other architectures as well. It would also
> mean that the MIDR that's stored in the header wouldn't have the version
> information, which if we're starting to do things with that could be bad.
> 
> There are already callers of strcmp_cpuid_str() so it's probably best to
> keep it using the same get_cpuid() string. Unless there is a reason
> _not_  to do it? There isn't really anything that can't be done with it
> accepting/returning the full unmasked MIDR. If you want the old
> behavior, you just set the version fields to 0, which I've also used in
> a later patch and is already done in mapfile.csv
> 

ok, fine, so we seems that we would be following x86 on this in terms of 
using strcmp_cpuid_str(). It would be good to mention that there is 
already a weak version of strcmp_cpuid_str() for !x86 in your commit 
message.

Let me check your code again...

Thanks,
John



More information about the linux-arm-kernel mailing list