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

From: kajoljain <[email-masked]>
Date: Fri, 7 Jan 2022 14:28:37 +0530

On 1/6/22 3:49 AM, Stephen Rothwell wrote:
> Hi all,
> 
> 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.
>