[PATCH v3 0/5] perf: arm_spe: Add format option for discard mode

James Clark posted 5 patches 11 months, 1 week ago
drivers/perf/arm_spe_pmu.c                | 22 ++++++
tools/perf/Documentation/perf-arm-spe.txt | 26 +++++++
tools/perf/arch/arm64/util/arm-spe.c      | 90 +++++++++++++++--------
tools/perf/tests/shell/test_arm_spe.sh    | 30 ++++++++
4 files changed, 136 insertions(+), 32 deletions(-)
[PATCH v3 0/5] perf: arm_spe: Add format option for discard mode
Posted by James Clark 11 months, 1 week ago
Discard mode (Armv8.6) is a way to enable SPE related PMU events without
the overhead of recording any data. Add a format option, tests and docs
for it.

In theory we could make the driver drop calls to allocate the aux buffer
when discard mode is enabled. This would give a small memory saving,
but I think there is potential to interfere with any tools that don't
expect this so I left the aux allocation untouched. Even old tools that
don't know about discard mode will be able to use it because we publish
the format option. Not allocating the aux buffer will have to be added
to tools which I've done in Perf.

Tested on the FVP with SAMPLE_FEED_OP (0x812D):

 $ perf stat -e armv8_pmuv3/event=0x812D/ -- true

 Performance counter stats for 'true':

                 0      armv8_pmuv3/event=0x812D/

 $ perf record -e arm_spe/discard/ -a -N -B --no-bpf-event -o - > /dev/null &
 $ perf stat -e armv8_pmuv3/event=0x812D/ -- true

  Performance counter stats for 'true':

             17350      armv8_pmuv3/event=0x812D/

Changes since v2:
  * Use existing SPE_PMU_FEAT_* mechanism (Will)

Changes since v1:
  * Add a new section and some clarifications about the PMU events to
    the docs. (Ian)

Applies to v6.13-rc6

James Clark (5):
  perf: arm_spe: Add format option for discard mode
  perf docs: arm_spe: Document new discard mode
  perf tool: arm-spe: Pull out functions for aux buffer and tracking
    setup
  perf tool: arm-spe: Don't allocate buffer or tracking event in discard
    mode
  perf test: arm_spe: Add test for discard mode

 drivers/perf/arm_spe_pmu.c                | 22 ++++++
 tools/perf/Documentation/perf-arm-spe.txt | 26 +++++++
 tools/perf/arch/arm64/util/arm-spe.c      | 90 +++++++++++++++--------
 tools/perf/tests/shell/test_arm_spe.sh    | 30 ++++++++
 4 files changed, 136 insertions(+), 32 deletions(-)

-- 
2.34.1
Re: [PATCH v3 0/5] perf: arm_spe: Add format option for discard mode
Posted by Will Deacon 11 months, 1 week ago
On Wed, 08 Jan 2025 14:28:55 +0000, James Clark wrote:
> Discard mode (Armv8.6) is a way to enable SPE related PMU events without
> the overhead of recording any data. Add a format option, tests and docs
> for it.
> 
> In theory we could make the driver drop calls to allocate the aux buffer
> when discard mode is enabled. This would give a small memory saving,
> but I think there is potential to interfere with any tools that don't
> expect this so I left the aux allocation untouched. Even old tools that
> don't know about discard mode will be able to use it because we publish
> the format option. Not allocating the aux buffer will have to be added
> to tools which I've done in Perf.
> 
> [...]

Applied driver and docs patches to will (for-next/perf), thanks!

[1/5] perf: arm_spe: Add format option for discard mode
      https://git.kernel.org/will/c/d28d95bc63cb
[2/5] perf docs: arm_spe: Document new discard mode
      https://git.kernel.org/will/c/ba113ecad81a

Cheers,
-- 
Will

https://fixes.arm64.dev
https://next.arm64.dev
https://will.arm64.dev
Re: [PATCH v3 0/5] perf: arm_spe: Add format option for discard mode
Posted by Arnaldo Carvalho de Melo 11 months, 1 week ago
On Fri, Jan 10, 2025 at 04:22:48PM +0000, Will Deacon wrote:
> On Wed, 08 Jan 2025 14:28:55 +0000, James Clark wrote:
> > Discard mode (Armv8.6) is a way to enable SPE related PMU events without
> > the overhead of recording any data. Add a format option, tests and docs
> > for it.
> > 
> > In theory we could make the driver drop calls to allocate the aux buffer
> > when discard mode is enabled. This would give a small memory saving,
> > but I think there is potential to interfere with any tools that don't
> > expect this so I left the aux allocation untouched. Even old tools that
> > don't know about discard mode will be able to use it because we publish
> > the format option. Not allocating the aux buffer will have to be added
> > to tools which I've done in Perf.
> > 
> > [...]
> 
> Applied driver and docs patches to will (for-next/perf), thanks!

Picked the rest and added it to perf-tools-next,

Thanks,

- Arnaldo
 
> [1/5] perf: arm_spe: Add format option for discard mode
>       https://git.kernel.org/will/c/d28d95bc63cb
> [2/5] perf docs: arm_spe: Document new discard mode
>       https://git.kernel.org/will/c/ba113ecad81a
> 
> Cheers,
> -- 
> Will
> 
> https://fixes.arm64.dev
> https://next.arm64.dev
> https://will.arm64.dev
Re: [PATCH v3 0/5] perf: arm_spe: Add format option for discard mode
Posted by James Clark 11 months, 1 week ago

On 10/01/2025 4:22 pm, Will Deacon wrote:
> On Wed, 08 Jan 2025 14:28:55 +0000, James Clark wrote:
>> Discard mode (Armv8.6) is a way to enable SPE related PMU events without
>> the overhead of recording any data. Add a format option, tests and docs
>> for it.
>>
>> In theory we could make the driver drop calls to allocate the aux buffer
>> when discard mode is enabled. This would give a small memory saving,
>> but I think there is potential to interfere with any tools that don't
>> expect this so I left the aux allocation untouched. Even old tools that
>> don't know about discard mode will be able to use it because we publish
>> the format option. Not allocating the aux buffer will have to be added
>> to tools which I've done in Perf.
>>
>> [...]
> 
> Applied driver and docs patches to will (for-next/perf), thanks!
> 
> [1/5] perf: arm_spe: Add format option for discard mode
>        https://git.kernel.org/will/c/d28d95bc63cb
> [2/5] perf docs: arm_spe: Document new discard mode
>        https://git.kernel.org/will/c/ba113ecad81a
> 
> Cheers,

Thanks Will. Arnaldo and Namhyung, are you ok to take the Perf changes now?

Thanks
James