Re: [PATCH] perf/x86/intel: Clean up PEBS-via-PT on hybrid
From: Liang, Kan
Date: Mon Jan 27 2025 - 09:41:24 EST
On 2025-01-27 6:42 a.m., Adrian Hunter wrote:
> On 27/01/25 11:42, Alexander Shishkin wrote:
>> [sending again, because smtp is hard, for some reason]
>> kan.liang@xxxxxxxxxxxxxxx writes:
>>
>>> From: Kan Liang <kan.liang@xxxxxxxxxxxxxxx>
>>>
>>> The PEBS-via-PT feature is exposed for the e-core of some hybrid
>>> platforms, e.g., ADL and MTL. But it never works.
>>>
>>> $ dmesg | grep PEBS
>>> [ 1.793888] core: cpu_atom PMU driver: PEBS-via-PT
>>>
>>> $ perf record -c 1000 -e '{intel_pt/branch=0/,
>>> cpu_atom/cpu-cycles,aux-output/pp}' -C8
>>> Error:
>>> The sys_perf_event_open() syscall returned with 22 (Invalid argument)
>>> for event (cpu_atom/cpu-cycles,aux-output/pp).
>>> "dmesg | grep -i perf" may provide additional information.
>>>
>>> The "PEBS-via-PT" is printed if the corresponding bit of per-PMU
>>> capabilities is set. Since the feature is supported by the e-core HW,
>>> perf sets the bit for e-core. However, for Intel PT, if a feature is not
>>> supported on all CPUs, it is not supported at all. The PEBS-via-PT event
>>> cannot be created successfully.
>>>
>>> The PEBS-via-PT is no longer enumerated on the latest hybrid platform. It
>>> will be deprecated on future platforms with Arch PEBS. Let's remove it
>>> from the existing hybrid platforms.
>>
>> There are still lots of them in use in the wild, I'd still like to fix
>> this properly instead of chopping it off. Unless there's a reason not to?
>
> The kernel has never supported PEBS-via-PT on hybrids before.
> AFAIK no one is asking for it on hybrids.
Right, I didn't get the request on hybrid either.
>
> Note, it will continue to work on non-hybrid atom/e-core systems
> like ADL-N etc
>
Right, ADL-N and all the non-hybrid still works.
It removes the false claim on the hybrid ADL, MTL, RPL, LNL, and Arrow Lake.
Thanks,
Kan