Re: [PATCH] perf/x86/intel: Clean up PEBS-via-PT on hybrid
From: Adrian Hunter
Date: Mon Jan 27 2025 - 06:42:57 EST
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.
Note, it will continue to work on non-hybrid atom/e-core systems
like ADL-N etc