arm64/for-kernelci build: 2 builds: 1 failed, 1 passed (v6.1-rc5-63-g9500fc6e9e60)

Besar Wicaksono bwicaksono at nvidia.com
Thu Nov 17 11:53:38 PST 2022


Hi Suzuki,

> -----Original Message-----
> From: Suzuki K Poulose <suzuki.poulose at arm.com>
> Sent: Thursday, November 17, 2022 5:57 AM
> To: Besar Wicaksono <bwicaksono at nvidia.com>; Will Deacon
> <will at kernel.org>; kernelci.org bot <bot at kernelci.org>
> Cc: catalin.marinas at arm.com; linux-arm-kernel at lists.infradead.org; kernel-
> build-reports at lists.linaro.org; kernelci-results at groups.io
> Subject: Re: arm64/for-kernelci build: 2 builds: 1 failed, 1 passed (v6.1-rc5-63-
> g9500fc6e9e60)
> 
> External email: Use caution opening links or attachments
> 
> 
> On 16/11/2022 15:17, Besar Wicaksono wrote:
> > Hi Suzuki,
> >
> >> -----Original Message-----
> >> From: Suzuki K Poulose <suzuki.poulose at arm.com>
> >> Sent: Wednesday, November 16, 2022 7:26 AM
> >> To: Will Deacon <will at kernel.org>; kernelci.org bot <bot at kernelci.org>;
> >> Besar Wicaksono <bwicaksono at nvidia.com>
> >> Cc: catalin.marinas at arm.com; linux-arm-kernel at lists.infradead.org;
> kernel-
> >> build-reports at lists.linaro.org; kernelci-results at groups.io
> >> Subject: Re: arm64/for-kernelci build: 2 builds: 1 failed, 1 passed (v6.1-rc5-
> 63-
> >> g9500fc6e9e60)
> >>
> >> External email: Use caution opening links or attachments
> >>
> >>
> >> On 16/11/2022 12:20, Will Deacon wrote:
> >>> Besar, Suzuki,
> >>>
> >>> On Tue, Nov 15, 2022 at 05:49:06PM -0800, kernelci.org bot wrote:
> >>>> arm64/for-kernelci build: 2 builds: 1 failed, 1 passed (v6.1-rc5-63-
> >> g9500fc6e9e60)
> >>>>
> >>>> Full Build Summary: https://kernelci.org/build/arm64/branch/for-
> >> kernelci/kernel/v6.1-rc5-63-g9500fc6e9e60/
> >>>>
> >>>> Tree: arm64
> >>>> Branch: for-kernelci
> >>>> Git Describe: v6.1-rc5-63-g9500fc6e9e60
> >>>> Git Commit: 9500fc6e9e6077616c0dea0f7eb33138be94ed0c
> >>>> Git URL:
> https://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git
> >>>> Built: 1 unique architecture
> >>>>
> >>>> Build Failure Detected:
> >>>>
> >>>> arm64:
> >>>>       allmodconfig: (gcc-10) FAIL
> >>>
> >>> This is caused by the new arm_cspmu modules:
> >>>
> >>>     | depmod: ERROR: Cycle detected: arm_cspmu -> nvidia_cspmu ->
> >> arm_cspmu
> >>>     | depmod: ERROR: Found 2 modules in dependency cycles!
> >>>
> >>> Please can you send patches to fix this and the other build issue
> reported
> >>> by Stephen Rothwell?
> >>
> >> Sigh ! Apologies, I didn't spot this. A proper fix is too invasive, with
> >> addition of a provision for individual backend drivers to register an
> >> "impl_match" with generic arm_cspmu driver.
> >>
> >> Until we get this, we could fold the nvidia_cspmu driver into the
> >> arm_csmpu module. Something like :
> >>
> >>
> >> diff --git a/drivers/perf/arm_cspmu/Makefile
> >> b/drivers/perf/arm_cspmu/Makefile
> >> index 641db85c018b..169bc64334d4 100644
> >> --- a/drivers/perf/arm_cspmu/Makefile
> >> +++ b/drivers/perf/arm_cspmu/Makefile
> >> @@ -2,6 +2,5 @@
> >>    #
> >>    # SPDX-License-Identifier: GPL-2.0
> >>
> >> -obj-$(CONFIG_ARM_CORESIGHT_PMU_ARCH_SYSTEM_PMU) += \
> >> -       arm_cspmu.o \
> >> -       nvidia_cspmu.o
> >> +obj-$(CONFIG_ARM_CORESIGHT_PMU_ARCH_SYSTEM_PMU) +=
> >> arm_cspmu_core.o
> >> +arm_cspmu_core-y       := arm_cspmu.o nvidia_cspmu.o
> >>
> >>
> >> Besar,
> >>
> >> Please could you add a separate patch (for fixing it in later versions)
> >> as mentioned above ?
> >>
> >>
> >> Thoughts ?
> >
> > Sorry I did not check this. The arm_cspmu code is intended to have the
> functions
> > to operate the PMU and the vendor code (currently just Nvidia) is an
> extension that have
> > just the attributes. So, I think there is only one module to be built here and
> folding both
> > arm_cspmu and nvidia_cspmu together is the proper fix.
> 
> The proper fix would be to add a book keeping at arm_cspmu driver
> for {un,}registering backends (like the current nvidia drivers) at
> runtime (see arm_pmu for e.g.,).
> 
> So that the arm_cspmu module doesn't depend on the symbols from
> backend drivers (in the impl_match list). That way the kernel can
> be configured to keep things modular, rather than folding all
> the possible (future) Arm Coresight PMU compliant drivers
> ending up as a single module.

Okay, I understand the objective. I will work on it.

Regards,
Besar

> 
> Suzuki



More information about the linux-arm-kernel mailing list