[PATCH V5 2/7] arm64/perf: Update struct arm_pmu for BRBE
Suzuki K Poulose
suzuki.poulose at arm.com
Wed Nov 9 03:30:38 PST 2022
On 07/11/2022 06:25, Anshuman Khandual wrote:
> Although BRBE is an armv8 speciifc HW feature, abstracting out its various
> function callbacks at the struct arm_pmu level is preferred, as it cleaner
> , easier to follow and maintain.
>
> Besides some helpers i.e brbe_supported(), brbe_probe() and brbe_reset()
> might not fit seamlessly, when tried to be embedded via existing arm_pmu
> helpers in the armv8 implementation.
>
> Updates the struct arm_pmu to include all required helpers that will drive
> BRBE functionality for a given PMU implementation. These are the following.
>
> - brbe_filter : Convert perf event filters into BRBE HW filters
> - brbe_probe : Probe BRBE HW and capture its attributes
> - brbe_enable : Enable BRBE HW with a given config
> - brbe_disable : Disable BRBE HW
> - brbe_read : Read BRBE buffer for captured branch records
> - brbe_reset : Reset BRBE buffer
> - brbe_supported: Whether BRBE is supported or not
>
> A BRBE driver implementation needs to provide these functionalities.
Could these not be hidden from the generic arm_pmu and kept in the
arm64 pmu backend ? It looks like they are quite easy to simply
move these to the corresponding hooks in arm64 pmu.
Suzuki
More information about the linux-arm-kernel
mailing list