Hi, Krzysztof Kozlowski Thanks for you review/comments. > > 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 MAC 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 mac_iod0_mac0_ch0/ea-mac/ ls perf stat -e > > mac_iod0_mac0_ch0/event=0x80/ ls > > > > FUJITSU-MONAKA Specification URL: > > https://github.com/fujitsu/FUJITSU-MONAKA > > > > Signed-off-by: Yoshihiro Furudera <fj5100bi@xxxxxxxxxxx> > > --- > > .../admin-guide/perf/fujitsu_mac_pmu.rst | 20 + > > arch/arm64/configs/defconfig | 1 + > > > defconfig goes via your SoC maintainer. Split the patch and Cc the SoC folks. Understood.I'll do that and resubmit the patch. > > Which ARCH is it, BTW? This is supported by an ARM64-based processor called FUJITSU-MONAKA, which is currently being developed by FUJITSU. > > > > drivers/perf/Kconfig | 9 + > > drivers/perf/Makefile | 1 + > > drivers/perf/fujitsu_mac_pmu.c | 633 > ++++++++++++++++++ > > include/linux/cpuhotplug.h | 1 + > > 6 files changed, 665 insertions(+) > > create mode 100644 Documentation/admin-guide/perf/fujitsu_mac_pmu.rst > > create mode 100644 drivers/perf/fujitsu_mac_pmu.c > > > > diff --git a/Documentation/admin-guide/perf/fujitsu_mac_pmu.rst > > b/Documentation/admin-guide/perf/fujitsu_mac_pmu.rst > > new file mode 100644 > > index 000000000000..ddb3dcff3c61 > > --- /dev/null > > +++ b/Documentation/admin-guide/perf/fujitsu_mac_pmu.rst > > @@ -0,0 +1,20 @@ > > > +================================================== > =================== > > +====== Fujitsu Uncore MAC Performance Monitoring Unit (PMU) > > > +================================================== > =================== > > +====== > > + > > +This driver supports the Uncore MAC PMUs found in Fujitsu chips. > > +Each MAC PMU on these chips is exposed as a uncore perf PMU with > > +device name mac_iod<iod>_mac<mac>_ch<ch>. > > + > > +The driver provides a description of its available events and > > +configuration options in sysfs, see > /sys/bus/event_sources/devices/mac_iod<iod>_mac<mac>_ch<ch>/. > > +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 mac_iod0_mac0_ch0/ea-mac/ 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 5fdbfea7a5b2..2ef412937228 100644 > > --- a/arch/arm64/configs/defconfig > > +++ b/arch/arm64/configs/defconfig > > @@ -1575,6 +1575,7 @@ CONFIG_ARM_CMN=m > CONFIG_ARM_SMMU_V3_PMU=m > > CONFIG_ARM_DSU_PMU=m CONFIG_FSL_IMX8_DDR_PMU=m > > +CONFIG_FUJITSU_MAC_PMU=y > > CONFIG_QCOM_L2_PMU=y > > CONFIG_QCOM_L3_PMU=y > > CONFIG_ARM_SPE_PMU=m > > diff --git a/drivers/perf/Kconfig b/drivers/perf/Kconfig index > > bab8ba64162f..4705c605e286 100644 > > --- a/drivers/perf/Kconfig > > +++ b/drivers/perf/Kconfig > > @@ -178,6 +178,15 @@ config FSL_IMX9_DDR_PMU > > can give information about memory throughput and other related > > events. > > > > +config FUJITSU_MAC_PMU > > + bool "Fujitsu Uncore MAC PMU" > > + depends on (ARM64 && ACPI) || (COMPILE_TEST && 64BIT) > > Missing depends on specific ARCH. This is because this driver supports the FUJITSU-MONAKA, which is an ARM64 and ACPI-based processor. > > Sorry, this looks like work for some out of tree arch support. I don't think we have > any interest in taking it... unless it is part of bigger patchset/work? If so, then > provide *lore* link to relevant patchset. It is determined by the ACPI ID and does not depend on other patches. (This ACPI ID is used by FUJITSU-MONAKA.) The URLs of other patches related to FUJITSU-MONAKA are as follows: https://lore.kernel.org/all/20241018015640.2924794-1-fj5100bi@xxxxxxxxxxx/ https://lore.kernel.org/all/20241024071553.3073864-1-fj5100bi@xxxxxxxxxxx/ https://lore.kernel.org/all/20241111064843.3003093-1-fj5100bi@xxxxxxxxxxx/ > > Best regards, > Krzysztof > > On 08/11/2024 12:03, Krzysztof Kozlowski wrote: > > 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 MAC PMUs in Fujitsu chips. > >> > >> This driver was created with reference to drivers/perf/qcom_l3_pmu.c. > > This confused me... This driver was created based on drivers/perf/qcom_l3_pmu.c. The reason is that the processing done to Qualcomm's L3 cache PMU registers in qcom_l3_pmu.c is similar to the processing done to the Uncore MAC/PCI PMU registers. Specifically, the basic processing is the same as drivers/perf/qcom_l3_pmu.c, but the variable names, function names, ACPI device ID, and some processing have been modified to match FUJITSU-MONAKA's Uncore MAC PMU. > > >> CONFIG_ARM_SPE_PMU=m > >> diff --git a/drivers/perf/Kconfig b/drivers/perf/Kconfig index > >> bab8ba64162f..4705c605e286 100644 > >> --- a/drivers/perf/Kconfig > >> +++ b/drivers/perf/Kconfig > >> @@ -178,6 +178,15 @@ config FSL_IMX9_DDR_PMU > >> can give information about memory throughput and other related > >> events. > >> > >> +config FUJITSU_MAC_PMU > >> + bool "Fujitsu Uncore MAC PMU" > >> + depends on (ARM64 && ACPI) || (COMPILE_TEST && 64BIT) > > > > Missing depends on specific ARCH. > > > > Sorry, this looks like work for some out of tree arch support. I don't > > think we have any interest in taking it... unless it is part of bigger > > patchset/work? If so, then provide *lore* link to relevant patchset. > > > > -ENOTENOUGHCOFFEE, I see now ACPI dependency so there will be no SoC > folks for this, right? Then anyway split work per subsystem and send > defconfig to Soc maintainers. Yes, we only use ACPI ID. I'll do that and resubmit the patch. > Best regards, > Krzysztof Best Regards, Yoshihiro Furudera