[PATCH 0/2] perf: ARM CoreSight PMU support

Besar Wicaksono bwicaksono at nvidia.com
Mon May 9 15:07:36 PDT 2022



> -----Original Message-----
> From: Suzuki K Poulose <suzuki.poulose at arm.com>
> Sent: Monday, May 9, 2022 5:02 AM
> To: Will Deacon <will at kernel.org>; Besar Wicaksono
> <bwicaksono at nvidia.com>
> Cc: catalin.marinas at arm.com; mark.rutland at arm.com; linux-arm-
> kernel at lists.infradead.org; linux-kernel at vger.kernel.org; linux-
> tegra at vger.kernel.org; sudeep.holla at arm.com;
> thanu.rangarajan at arm.com; Michael.Williams at arm.com; Thierry Reding
> <treding at nvidia.com>; Jonathan Hunter <jonathanh at nvidia.com>; Vikram
> Sethi <vsethi at nvidia.com>; Mathieu Poirier <mathieu.poirier at linaro.org>;
> Michael Williams (ATG) <Michael.Williams at arm.com>
> Subject: Re: [PATCH 0/2] perf: ARM CoreSight PMU support
> 
> External email: Use caution opening links or attachments
> 
> 
> Cc: Mike Williams, Mathieu Poirier
> 
> On 09/05/2022 10:28, Will Deacon wrote:
> > On Sun, May 08, 2022 at 07:28:08PM -0500, Besar Wicaksono wrote:
> >> Add driver support for ARM CoreSight PMU device and event attributes
> for NVIDIA
> >> implementation. The code is based on ARM Coresight PMU architecture
> and ACPI ARM
> >> Performance Monitoring Unit table (APMT) specification below:
> >>   * ARM Coresight PMU:
> >>          https://developer.arm.com/documentation/ihi0091/latest
> >>   * APMT: https://developer.arm.com/documentation/den0117/latest
> >>
> >> Notes:
> >>   * There is a concern on the naming of the PMU device.
> >>     Currently the driver is probing "arm-coresight-pmu" device, however
> the APMT
> >>     spec supports different kinds of CoreSight PMU based implementation.
> So it is
> >>     open for discussion if the name can stay or a "generic" name is required.
> >>     Please see the following thread:
> >>     http://lists.infradead.org/pipermail/linux-arm-kernel/2022-
> May/740485.html
> >>
> >> Besar Wicaksono (2):
> >>    perf: coresight_pmu: Add support for ARM CoreSight PMU driver
> >>    perf: coresight_pmu: Add support for NVIDIA SCF and MCF attribute
> >>
> >>   arch/arm64/configs/defconfig                  |    1 +
> >>   drivers/perf/Kconfig                          |    2 +
> >>   drivers/perf/Makefile                         |    1 +
> >>   drivers/perf/coresight_pmu/Kconfig            |   10 +
> >>   drivers/perf/coresight_pmu/Makefile           |    7 +
> >>   .../perf/coresight_pmu/arm_coresight_pmu.c    | 1317
> +++++++++++++++++
> >>   .../perf/coresight_pmu/arm_coresight_pmu.h    |  147 ++
> >>   .../coresight_pmu/arm_coresight_pmu_nvidia.c  |  300 ++++
> >>   .../coresight_pmu/arm_coresight_pmu_nvidia.h  |   17 +
> >>   9 files changed, 1802 insertions(+)
> >
> > How does this interact with all the stuff we have under
> > drivers/hwtracing/coresight/?
> 
> Absolutely zero, except for the name. The standard
> is named "CoreSight PMU" which is a bit unfortunate,
> given the only link, AFAIU, with the "CoreSight" architecture
> is the Lock Access Register(LAR). For reference, the
> drivers/hwtracing/coresight/ is purely "CoreSight" self-hosted
> tracing and the PMU is called "cs_etm" (expands to coresight etm).
> Otherwise the standard doesn't have anything to do with what
> exists already in the kernel.

Yes, there is no correlation or interaction with existing driver for ETM/STM tracing.
It might share same authentication interface (NIDEN, DBGEN, SPIDEN, SPNIDEN)
for external debug. But these are not used in the driver.

> 
> That said, I am concerned that the "coresight_pmu" is easily confused
> with what exists today. Given that this is more of a "PMU" standard
> for the IPs in the Arm world, it would be better to name it as such
> avoiding any confusion with the existing PMUs.
> 
> One potential recommendation for the name is, "Arm PMU"  (The ACPI table
> is named Arm PMU Table). But then that could be clashing with the
> armv8_pmu :-(.
> 
> Some of the other options are :
> 
> "Arm Generic PMU"
> "Arm Uncore PMU"
> "Arm PMU"

As far as I understand, the APMT does not cover PMU in Arm PE.
I think "Arm Uncore PMU" would fit.

Regards,
Besar

> 
> Suzuki
> 
> >
> > Will



More information about the linux-arm-kernel mailing list