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

From: James Clark
Date: Thu Jul 13 2023 - 05:15:54 EST




On 13/07/2023 08:30, Anshuman Khandual wrote:
>
>
> 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 ?
>

You never know, I've seen worse! I suppose we'll find out if I change it
and anything breaks. It will probably be fine though, I'll make the
change on the next version.

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