[PATCH v1 3/9] perf auxtrace: Refactor auxtrace__evsel_is_auxtrace()
James Clark
james.clark at linaro.org
Fri Aug 9 03:08:45 PDT 2024
On 08/08/2024 1:58 pm, Adrian Hunter wrote:
> On 6/08/24 23:41, Leo Yan wrote:
>> The auxtrace__evsel_is_auxtrace() function invokes the callback
>> .evsel_is_auxtrace() to check if an event is an AUX trace. In the
>> low-level code, every AUX trace module provides its callback to
>> compare the PMU type.
>>
>> This commit refactors auxtrace__evsel_is_auxtrace() by simply
>> calling evsel__is_aux_event() rather than using the callback function.
>> As a result, the callback .evsel_is_auxtrace() is no longer needed, so
>> the definition and implementations are removed.
>
> evsel__is_aux_event() assumes it is on the target machine e.g.
> being called from perf record. It indirectly reads from sysfs
> to find PMUs, which will not necessarily be the same a different
> machine.
>
> For example, what happens if a perf data file from one arch is
> being processed on a machine from another arch.
>
I think this does go a bit wrong. If I open an SPE file on x86 it finds
the intel_pt PMU which both have the same type number. But because
that's also an auxtrace one it appears to work.
More information about the linux-arm-kernel
mailing list