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

From: kajoljain <[email-masked]>
Date: Wed, 12 Jan 2022 11:00:14 +0530

On 1/12/22 3:31 AM, Arnaldo Carvalho de Melo wrote:
> 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

Yes Arnaldo,
      Michael already pulled kernel and power side patches for that
patchset. Only patch 2 of that patchset had tools side changes i.e;

[PATCH 2/4]tools/perf: Add new macros for mem_hops field
Link to the patch: https://lkml.org/lkml/2021/12/6/145

So, we will not get this error once kernel side changes are in via
Michael's powerpc tree.

Thanks,
Kajol Jain