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

From: Besar Wicaksono
Date: Tue Aug 23 2022 - 14:59:14 EST


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 <bwicaksono@xxxxxxxxxx>
> Sent: Sunday, August 14, 2022 1:24 PM
> To: suzuki.poulose@xxxxxxx; robin.murphy@xxxxxxx;
> catalin.marinas@xxxxxxx; will@xxxxxxxxxx; mark.rutland@xxxxxxx
> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx;
> linux-tegra@xxxxxxxxxxxxxxx; sudeep.holla@xxxxxxx;
> thanu.rangarajan@xxxxxxx; Michael.Williams@xxxxxxx; Thierry Reding
> <treding@xxxxxxxxxx>; Jonathan Hunter <jonathanh@xxxxxxxxxx>; Vikram
> Sethi <vsethi@xxxxxxxxxx>; mathieu.poirier@xxxxxxxxxx;
> mike.leach@xxxxxxxxxx; leo.yan@xxxxxxxxxx; Besar Wicaksono
> <bwicaksono@xxxxxxxxxx>
> 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 suzuki.poulose@xxxxxxx and will@xxxxxxxxxx for the review
> comments.
> v3: https://lore.kernel.org/linux-arm-kernel/20220621055035.31766-1-
> bwicaksono@xxxxxxxxxx/
>
> 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 suzuki.poulose@xxxxxxx for the review comments.
> v2: https://lore.kernel.org/linux-arm-kernel/20220515163044.50055-1-
> bwicaksono@xxxxxxxxxx/
>
> 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 robin.murphy@xxxxxxx for the review comments.
> v1: https://lore.kernel.org/linux-arm-kernel/20220509002810.12412-1-
> bwicaksono@xxxxxxxxxx/
>
> 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