Re: [PATCH v2] perf test amd: Fix build failure with amd-ibs-via-core-pmu.c

From: Ravi Bangoria
Date: Mon Jun 05 2023 - 23:13:38 EST


On 05-Jun-23 7:57 PM, Arnaldo Carvalho de Melo wrote:
> Em Sat, Jun 03, 2023 at 10:16:50AM +0530, Ravi Bangoria escreveu:
>> Since amd-ibs-via-core-pmu.c was applied via Peter's tree, some of
>> the changes came via Arnaldo's tree did not reflect in this file,
>> which is causing build failures.
>>
>> arch/x86/tests/amd-ibs-via-core-pmu.c:47:25: error: ‘pmus’ undeclared
>> (first use in this function)
>> 47 | if (list_empty(&pmus))
>> | ^~~~
>> arch/x86/tests/amd-ibs-via-core-pmu.c:48:17: error: implicit declaration
>> of function ‘perf_pmu__scan’; did you mean
>> perf_pmus__scan’? [-Werror=implicit-function-declaration]
>> 48 | perf_pmu__scan(NULL);
>> | ^~~~~~~~~~~~~~
>> | perf_pmus__scan
>> arch/x86/tests/amd-ibs-via-core-pmu.c:50:19: error: implicit declaration
>> of function ‘perf_pmu__find’; did you mean
>> perf_pmus__find’? [-Werror=implicit-function-declaration]
>> 50 | ibs_pmu = perf_pmu__find("ibs_op");
>> | ^~~~~~~~~~~~~~
>> | perf_pmus__find
>>
>> Fix those.
>>
>> Fixes: 1eaf496ed386 ("perf pmu: Separate pmu and pmus")
>> Signed-off-by: Ravi Bangoria <ravi.bangoria@xxxxxxx>
>
> I wonder how to solve the various merge issues here:
>
> 1. this clashes with:
>
> commit ae4aa00a1a9358e0007f6edc71b018a0b0d21190
> Author: Ian Rogers <irogers@xxxxxxxxxx>
> Date: Tue May 2 15:38:27 2023 -0700
>
> perf test: Move x86 hybrid tests to arch/x86
>
> --------------
>
> I tried cherry-picking the cset that introduces amd-ibs-via-core-pmu.c,
> moved the test__hybrid lines a bit and then tried test merging the
> result with tip/master, it works.
>
> But then I tried applying this fix as a follow up cset, perf-tools-next
> would have bisection history broken, but nah, but then I hit:
>
> ⬢[acme@toolbox perf-tools-next]$ git merge tip/master
> Auto-merging tools/perf/arch/x86/include/arch-tests.h
> Auto-merging tools/perf/arch/x86/tests/Build
> Auto-merging tools/perf/arch/x86/tests/amd-ibs-via-core-pmu.c
> CONFLICT (add/add): Merge conflict in tools/perf/arch/x86/tests/amd-ibs-via-core-pmu.c
> Auto-merging tools/perf/arch/x86/tests/arch-tests.c
> Automatic merge failed; fix conflicts and then commit the result.
> ⬢[acme@toolbox perf-tools-next]$ git diff
> diff --cc tools/perf/arch/x86/tests/amd-ibs-via-core-pmu.c
> index 78b1902f6f59d8ce,2902798ca5c1ed1c..0000000000000000
> --- a/tools/perf/arch/x86/tests/amd-ibs-via-core-pmu.c
> +++ b/tools/perf/arch/x86/tests/amd-ibs-via-core-pmu.c
> @@@ -44,7 -44,10 +44,14 @@@ int test__amd_ibs_via_core_pmu(struct t
> int ret = TEST_OK;
> int fd, i;
>
> ++<<<<<<< HEAD
> + ibs_pmu = perf_pmus__find("ibs_op");
> ++=======
> + if (list_empty(&pmus))
> + perf_pmu__scan(NULL);
> +
> + ibs_pmu = perf_pmu__find("ibs_op");
> ++>>>>>>> tip/master
> if (!ibs_pmu)
> return TEST_SKIP;
>
>
> How are things like this resolved in linux-next?
>
> Removing this test from tip/master and I carry a fixed up
> tools/perf/arch/x86/tests/amd-ibs-via-core-pmu.c introduction patch?

I'm hoping Stephen will reply on merge question. But if you want me to resend
the patch rebased on a specific branch, I would be happy to do that.

Thanks,
Ravi