2022-08-14 18:52:47

by Besar Wicaksono

[permalink] [raw]
Subject: [PATCH v4 0/2] perf: ARM CoreSight PMU support

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

The patchset applies on top of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
master next-20220524

For APMT support, please see patchset: https://lkml.org/lkml/2022/4/19/1395

Changes from v3:
* Driver is now probing "arm-cs-arch-pmu" device.
* The driver files, directory, functions are renamed with "arm_cspmu" prefix.
* Use Kconfig ARM_CORESIGHT_PMU_ARCH_SYSTEM_PMU.
* Add kernel doc for NVIDIA Uncore PMU.
* Use GENMASK and FIELD_GET macros everywhere.
Thanks to [email protected] and [email protected] for the review comments.
v3: https://lore.kernel.org/linux-arm-kernel/[email protected]/

Changes from v2:
* Driver is now probing "arm-system-pmu" device.
* Change default PMU naming to "arm_<APMT node type>_pmu".
* Add implementor ops to generate custom name.
Thanks to [email protected] for the review comments.
v2: https://lore.kernel.org/linux-arm-kernel/[email protected]/

Changes from v1:
* Remove CPU arch dependency.
* Remove 32-bit read/write helper function and just use read/writel.
* Add .is_visible into event attribute to filter out cycle counter event.
* Update pmiidr matching.
* Remove read-modify-write on PMCR since the driver only writes to PMCR.E.
* Assign default cycle event outside the 32-bit PMEVTYPER range.
* Rework the active event and used counter tracking.
Thanks to [email protected] for the review comments.
v1: https://lore.kernel.org/linux-arm-kernel/[email protected]/

Besar Wicaksono (2):
perf: arm_cspmu: Add support for ARM CoreSight PMU driver
perf: arm_cspmu: Add support for NVIDIA SCF and MCF attribute

Documentation/admin-guide/perf/index.rst | 1 +
Documentation/admin-guide/perf/nvidia-pmu.rst | 120 ++
arch/arm64/configs/defconfig | 1 +
drivers/perf/Kconfig | 2 +
drivers/perf/Makefile | 1 +
drivers/perf/arm_cspmu/Kconfig | 13 +
drivers/perf/arm_cspmu/Makefile | 7 +
drivers/perf/arm_cspmu/arm_cspmu.c | 1269 +++++++++++++++++
drivers/perf/arm_cspmu/arm_cspmu.h | 151 ++
drivers/perf/arm_cspmu/nvidia_cspmu.c | 367 +++++
drivers/perf/arm_cspmu/nvidia_cspmu.h | 17 +
11 files changed, 1949 insertions(+)
create mode 100644 Documentation/admin-guide/perf/nvidia-pmu.rst
create mode 100644 drivers/perf/arm_cspmu/Kconfig
create mode 100644 drivers/perf/arm_cspmu/Makefile
create mode 100644 drivers/perf/arm_cspmu/arm_cspmu.c
create mode 100644 drivers/perf/arm_cspmu/arm_cspmu.h
create mode 100644 drivers/perf/arm_cspmu/nvidia_cspmu.c
create mode 100644 drivers/perf/arm_cspmu/nvidia_cspmu.h


base-commit: 09ce5091ff971cdbfd67ad84dc561ea27f10d67a
--
2.17.1


2022-08-23 19:11:02

by Besar Wicaksono

[permalink] [raw]
Subject: RE: [PATCH v4 0/2] perf: ARM CoreSight PMU support

Hi Reviewers,

Could we get some comments for this patchset ?
Or an estimate when this could get your review is greatly appreciated.

Regards,
Besar

> -----Original Message-----
> From: Besar Wicaksono <[email protected]>
> Sent: Sunday, August 14, 2022 1:24 PM
> To: [email protected]; [email protected];
> [email protected]; [email protected]; [email protected]
> Cc: [email protected]; [email protected];
> [email protected]; [email protected];
> [email protected]; [email protected]; Thierry Reding
> <[email protected]>; Jonathan Hunter <[email protected]>; Vikram
> Sethi <[email protected]>; [email protected];
> [email protected]; [email protected]; Besar Wicaksono
> <[email protected]>
> Subject: [PATCH v4 0/2] perf: ARM CoreSight PMU support
>
> 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
>
> The patchset applies on top of
> https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
> master next-20220524
>
> For APMT support, please see patchset:
> https://lkml.org/lkml/2022/4/19/1395
>
> Changes from v3:
> * Driver is now probing "arm-cs-arch-pmu" device.
> * The driver files, directory, functions are renamed with "arm_cspmu"
> prefix.
> * Use Kconfig ARM_CORESIGHT_PMU_ARCH_SYSTEM_PMU.
> * Add kernel doc for NVIDIA Uncore PMU.
> * Use GENMASK and FIELD_GET macros everywhere.
> Thanks to [email protected] and [email protected] for the review
> comments.
> v3: https://lore.kernel.org/linux-arm-kernel/20220621055035.31766-1-
> [email protected]/
>
> Changes from v2:
> * Driver is now probing "arm-system-pmu" device.
> * Change default PMU naming to "arm_<APMT node type>_pmu".
> * Add implementor ops to generate custom name.
> Thanks to [email protected] for the review comments.
> v2: https://lore.kernel.org/linux-arm-kernel/20220515163044.50055-1-
> [email protected]/
>
> Changes from v1:
> * Remove CPU arch dependency.
> * Remove 32-bit read/write helper function and just use read/writel.
> * Add .is_visible into event attribute to filter out cycle counter event.
> * Update pmiidr matching.
> * Remove read-modify-write on PMCR since the driver only writes to
> PMCR.E.
> * Assign default cycle event outside the 32-bit PMEVTYPER range.
> * Rework the active event and used counter tracking.
> Thanks to [email protected] for the review comments.
> v1: https://lore.kernel.org/linux-arm-kernel/20220509002810.12412-1-
> [email protected]/
>
> Besar Wicaksono (2):
> perf: arm_cspmu: Add support for ARM CoreSight PMU driver
> perf: arm_cspmu: Add support for NVIDIA SCF and MCF attribute
>
> Documentation/admin-guide/perf/index.rst | 1 +
> Documentation/admin-guide/perf/nvidia-pmu.rst | 120 ++
> arch/arm64/configs/defconfig | 1 +
> drivers/perf/Kconfig | 2 +
> drivers/perf/Makefile | 1 +
> drivers/perf/arm_cspmu/Kconfig | 13 +
> drivers/perf/arm_cspmu/Makefile | 7 +
> drivers/perf/arm_cspmu/arm_cspmu.c | 1269 +++++++++++++++++
> drivers/perf/arm_cspmu/arm_cspmu.h | 151 ++
> drivers/perf/arm_cspmu/nvidia_cspmu.c | 367 +++++
> drivers/perf/arm_cspmu/nvidia_cspmu.h | 17 +
> 11 files changed, 1949 insertions(+)
> create mode 100644 Documentation/admin-guide/perf/nvidia-pmu.rst
> create mode 100644 drivers/perf/arm_cspmu/Kconfig
> create mode 100644 drivers/perf/arm_cspmu/Makefile
> create mode 100644 drivers/perf/arm_cspmu/arm_cspmu.c
> create mode 100644 drivers/perf/arm_cspmu/arm_cspmu.h
> create mode 100644 drivers/perf/arm_cspmu/nvidia_cspmu.c
> create mode 100644 drivers/perf/arm_cspmu/nvidia_cspmu.h
>
>
> base-commit: 09ce5091ff971cdbfd67ad84dc561ea27f10d67a
> --
> 2.17.1

2022-09-22 14:31:44

by Will Deacon

[permalink] [raw]
Subject: Re: [PATCH v4 0/2] perf: ARM CoreSight PMU support

On Tue, Aug 23, 2022 at 05:24:05PM +0000, Besar Wicaksono wrote:
> Hi Reviewers,
>
> Could we get some comments for this patchset ?
> Or an estimate when this could get your review is greatly appreciated.

I'd like Suzuki's ack before I merge this, although it mostly looks alright
to me from a quick look.

Will