Re: [PATCH 4/4] perf: Remove unused PERF_PMU_CAP_HETEROGENEOUS_CPUS capability

From: Anshuman Khandual
Date: Thu Jul 13 2023 - 03:31:08 EST




On 7/11/23 19:45, James Clark wrote:
>
>
> On 11/07/2023 13:10, Anshuman Khandual wrote:
>>
>>
>> On 7/10/23 17:51, James Clark wrote:
>>> Since commit bd2756811766 ("perf: Rewrite core context handling") the
>>> relationship between perf_event_context and PMUs has changed so that
>>> the error scenario that PERF_PMU_CAP_HETEROGENEOUS_CPUS originally
>>> silenced no longer exists.
>>>
>>> Remove the capability to avoid confusion that it actually influences
>>> any perf core behavior. This change should be a no-op.
>>>
>>> Signed-off-by: James Clark <james.clark@xxxxxxx>
>>> ---
>>> include/linux/perf_event.h | 2 +-
>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h
>>> index d5628a7b5eaa..3f4d941fd6c5 100644
>>> --- a/include/linux/perf_event.h
>>> +++ b/include/linux/perf_event.h
>>> @@ -288,7 +288,7 @@ struct perf_event_pmu_context;
>>> #define PERF_PMU_CAP_EXTENDED_REGS 0x0008
>>> #define PERF_PMU_CAP_EXCLUSIVE 0x0010
>>> #define PERF_PMU_CAP_ITRACE 0x0020
>>> -#define PERF_PMU_CAP_HETEROGENEOUS_CPUS 0x0040
>>> +/* Unused 0x0040 */
>>
>> Small nit, "Unused" marking might not be required here.
>>
>
> But then it would be very easy to miss that there is a free bit if I
> don't leave the comment. Is it really better without it?
>
> I could shift all the following ones down by one bit, but it would be a

Sounds as a better option IMHO.

> lot of work to make sure that nobody has hard coded some check for one
> of the bits instead of using the define somewhere.

These are not user visible ABI and hence defined in include/linux/perf_event.h
to be used by drivers registering a PMU for capability enumeration. I am just
wondering why they might have been hard coded any where ?

>
>>> #define PERF_PMU_CAP_NO_EXCLUDE 0x0080
>>> #define PERF_PMU_CAP_AUX_OUTPUT 0x0100
>>> #define PERF_PMU_CAP_EXTENDED_HW_TYPE 0x0200