Re: linux-next: build failure after merge of the perf tree

From: Michael Ellerman
Date: Fri Jan 14 2022 - 07:03:37 EST


Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> writes:
> Em Wed, Jan 12, 2022 at 08:45:53AM +1100, Stephen Rothwell escreveu:
>> Hi all,
>>
>> On Fri, 7 Jan 2022 14:28:37 +0530 kajoljain <kjain@xxxxxxxxxxxxx> wrote:
>> >
>> > On 1/6/22 3:49 AM, Stephen Rothwell wrote:
>> > >
>> > > After merging the perf tree, today's linux-next build (powerpc
>> > > ppc64_defconfig) failed like this:
>> > >
>> > > In file included from include/linux/perf_event.h:17,
>> > > from arch/powerpc/perf/isa207-common.h:12,
>> > > from arch/powerpc/perf/isa207-common.c:9:
>> > > arch/powerpc/perf/isa207-common.c: In function 'isa207_find_source':
>> > > include/uapi/linux/perf_event.h:1339:11: error: 'PERF_MEM_HOPS_2' undeclared (first use in this function); did you mean 'PERF_MEM_HOPS_0'?
>> > > 1339 | (((__u64)PERF_MEM_##a##_##s) << PERF_MEM_##a##_SHIFT)
>> > > | ^~~~~~~~~
>> > > arch/powerpc/perf/isa207-common.h:273:20: note: in expansion of macro 'PERF_MEM_S'
>> > > 273 | #define P(a, b) PERF_MEM_S(a, b)
>> > > | ^~~~~~~~~~
>> > > arch/powerpc/perf/isa207-common.c:240:51: note: in expansion of macro 'P'
>> > > 240 | ret |= PH(LVL, REM_RAM1) | REM | LEVEL(RAM) | P(HOPS, 2);
>> > > | ^
>> > > include/uapi/linux/perf_event.h:1339:11: note: each undeclared identifier is reported only once for each function it appears in
>> > > 1339 | (((__u64)PERF_MEM_##a##_##s) << PERF_MEM_##a##_SHIFT)
>> > > | ^~~~~~~~~
>> > > arch/powerpc/perf/isa207-common.h:273:20: note: in expansion of macro 'PERF_MEM_S'
>> > > 273 | #define P(a, b) PERF_MEM_S(a, b)
>> > > | ^~~~~~~~~~
>> > > arch/powerpc/perf/isa207-common.c:240:51: note: in expansion of macro 'P'
>> > > 240 | ret |= PH(LVL, REM_RAM1) | REM | LEVEL(RAM) | P(HOPS, 2);
>> > > | ^
>> > > include/uapi/linux/perf_event.h:1339:11: error: 'PERF_MEM_HOPS_3' undeclared (first use in this function); did you mean 'PERF_MEM_HOPS_0'?
>> > > 1339 | (((__u64)PERF_MEM_##a##_##s) << PERF_MEM_##a##_SHIFT)
>> > > | ^~~~~~~~~
>> > > arch/powerpc/perf/isa207-common.h:273:20: note: in expansion of macro 'PERF_MEM_S'
>> > > 273 | #define P(a, b) PERF_MEM_S(a, b)
>> > > | ^~~~~~~~~~
>> > > arch/powerpc/perf/isa207-common.c:244:51: note: in expansion of macro 'P'
>> > > 244 | ret |= PH(LVL, REM_RAM2) | REM | LEVEL(RAM) | P(HOPS, 3);
>> > > | ^
>> > >
>> > > Caused by commit
>> > >
>> > > af2b24f228a0 ("perf powerpc: Add data source encodings for power10 platform")
>> > >
>> > > It looks like patch 1/4 of this series is missing ...
>> >
>> > Hi Stephen,
>> > Yes you are right, original patch series contain 4 patches, where
>> > 1/4 patch contain kernel side changes for the same. Hence we are getting
>> > this error, as that patch is missing in the Arnaldo tree.
>> >
>> > Link to the patchset: https://lkml.org/lkml/2021/12/6/143
>> >
>> > That kernel side patch is taken by Michael Ellermen via powerpc git.
>> >
>> > Link to the patchset on powerpc/next:
>> >
>> > [1/4] perf: Add new macros for mem_hops field
>> > https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/commit/?id=cb1c4aba055f928ffae0c868e8dfe08eeab302e7
>> >
>> >
>> > [3/4] powerpc/perf: Add encodings to represent data based on newer
>> > composite PERF_MEM_LVLNUM* fields
>> > https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/commit/?id=4a20ee106154ac1765dea97932faad29f0ba57fc
>> >
>> > [4/4] powerpc/perf: Add data source encodings for power10 platform
>> > https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/commit/?id=6ed05a8efda56e5be11081954929421de19cce88
>> >
>> > Thanks,
>> > Kajol Jain
>> >
>> > >
>> > > I have used the perf tree from next-20220105 for today.
>> > >
>>
>> I am still getting this build failure.
>
> Yeah, this patch shouldn't have been merged thru the perf _tools_ tree,
> my bad, it should have gone thru Michael PPC kernel tree.
>
> It was a single series mixing up tools/ with kernel bits, I thought I
> had picked just the tools part but made a mistake.
>
> This should get resolved when the rest of the kernel bits go via
> Michael's powerpc tree, right?

Sorry about this.

I've just sent my pull request to Linus.

cheers