On 08/11/2024 06:40, Yoshihiro Furudera wrote: > This adds a new dynamic PMU to the Perf Events framework to program and > control the Uncore PCI PMUs in Fujitsu chips. > > This driver was created with reference to drivers/perf/qcom_l3_pmu.c. > > This driver exports formatting and event information to sysfs so it can > be used by the perf user space tools with the syntaxes: > > perf stat -e pci_iod0_pci0/ea-pci/ ls > perf stat -e pci_iod0_pci0/event=0x80/ ls > > FUJITSU-MONAKA Specification URL: > https://github.com/fujitsu/FUJITSU-MONAKA > > Signed-off-by: Yoshihiro Furudera <fj5100bi@xxxxxxxxxxx> > --- > .../admin-guide/perf/fujitsu_pci_pmu.rst | 20 + > arch/arm64/configs/defconfig | 1 + > drivers/perf/Kconfig | 9 + > drivers/perf/Makefile | 1 + > drivers/perf/fujitsu_pci_pmu.c | 613 ++++++++++++++++++ > include/linux/cpuhotplug.h | 1 + > 6 files changed, 645 insertions(+) > create mode 100644 Documentation/admin-guide/perf/fujitsu_pci_pmu.rst > create mode 100644 drivers/perf/fujitsu_pci_pmu.c > > diff --git a/Documentation/admin-guide/perf/fujitsu_pci_pmu.rst b/Documentation/admin-guide/perf/fujitsu_pci_pmu.rst > new file mode 100644 > index 000000000000..5fee3a3ccc86 > --- /dev/null > +++ b/Documentation/admin-guide/perf/fujitsu_pci_pmu.rst > @@ -0,0 +1,20 @@ > +=========================================================================== > +Fujitsu Uncore PCI Performance Monitoring Unit (PMU) > +=========================================================================== > + > +This driver supports the Uncore PCI PMUs found in Fujitsu chips. > +Each PCI PMU on these chips is exposed as a uncore perf PMU with device name > +pci_iod<iod>_pci<pci>. > + > +The driver provides a description of its available events and configuration > +options in sysfs, see /sys/bus/event_sources/devices/pci_iod<iod>_pci<pci>/. > +Given that these are uncore PMUs the driver also exposes a "cpumask" sysfs > +attribute which contains a mask consisting of one CPU which will be used to > +handle all the PMU events. > + > +Examples for use with perf:: > + > + perf stat -e pci_iod0_pci0/ea-pci/ ls > + > +Given that these are uncore PMUs the driver does not support sampling, therefore > +"perf record" will not work. Per-task perf sessions are not supported. > diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig > index 2ef412937228..d7df90205be6 100644 > --- a/arch/arm64/configs/defconfig > +++ b/arch/arm64/configs/defconfig > @@ -1576,6 +1576,7 @@ CONFIG_ARM_SMMU_V3_PMU=m > CONFIG_ARM_DSU_PMU=m > CONFIG_FSL_IMX8_DDR_PMU=m > CONFIG_FUJITSU_MAC_PMU=y > +CONFIG_FUJITSU_PCI_PMU=y Same concerns. There is no such ARCH and this must be sent via your SoC folks. Best regards, Krzysztof