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

From: Arnaldo Carvalho de Melo <[email-masked]>
Date: Tue, 11 Jan 2022 19:01:23 -0300

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 <[email-masked]> 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?

- Arnaldo