diff mbox series

[mptcp-next] Squash to "DO-NOT-MERGE: mptcp: improve code coverage for CI"

Message ID ab62e7d2f50512594416acb973dcaf3d4ec85fe3.1730708911.git.geliang@kernel.org (mailing list archive)
State Rejected, archived
Headers show
Series [mptcp-next] Squash to "DO-NOT-MERGE: mptcp: improve code coverage for CI" | expand

Checks

Context Check Description
matttbe/build success Build and static analysis OK
matttbe/checkpatch warning total: 0 errors, 1 warnings, 0 checks, 12 lines checked
matttbe/shellcheck success MPTCP selftests files have not been modified
matttbe/KVM_Validation__normal success Success! ✅
matttbe/KVM_Validation__debug success Success! ✅
matttbe/KVM_Validation__btf-normal__only_bpftest_all_ success Success! ✅
matttbe/KVM_Validation__btf-debug__only_bpftest_all_ success Success! ✅

Commit Message

Geliang Tang Nov. 4, 2024, 8:28 a.m. UTC
When our bpf_selftests are re-built, this error occurs:

 make[1]: *** No rule to make target 'atomics.lskel.h',
			needed by '.../atomics.test.o'.  Stop.
 make[1]: *** Waiting for unfinished jobs....
 make[1]: Leaving directory 'tools/testing/selftests/bpf'
 make: *** [Makefile:259: install] Error 2
 make: Leaving directory 'tools/testing/selftests'

In this case, I had to remove the cache directory .virtme and recompile it
again. This was very time-consuming.

A workaround patch for this is found in [1]. I don't know why this patch
has not been upstreamed, but it's in BPF CI environment. I think it's
necessary to synchronize this modification to MPTCP CI environment as well.

[1]
https://lore.kernel.org/bpf/Q3BN2kW9Kgy6LkrDOwnyY4Pv7_YF8fInLCd2_QA3LimKYM3wD64kRdnwp7blwG2dI_s7UGnfUae-4_dOmuTrxpYCi32G_KTzB3PfmxIerH8=@pm.me/T/

Signed-off-by: Geliang Tang <geliang@kernel.org>
---
 tools/testing/selftests/bpf/Makefile | 6 ++++++
 1 file changed, 6 insertions(+)

Comments

MPTCP CI Nov. 4, 2024, 9:35 a.m. UTC | #1
Hi Geliang,

Thank you for your modifications, that's great!

Our CI did some validations and here is its report:

- KVM Validation: normal: Success! ✅
- KVM Validation: debug: Success! ✅
- KVM Validation: btf-normal (only bpftest_all): Success! ✅
- KVM Validation: btf-debug (only bpftest_all): Success! ✅
- Task: https://github.com/multipath-tcp/mptcp_net-next/actions/runs/11660745489

Initiator: Patchew Applier
Commits: https://github.com/multipath-tcp/mptcp_net-next/commits/7c468c5ee032
Patchwork: https://patchwork.kernel.org/project/mptcp/list/?series=905930


If there are some issues, you can reproduce them using the same environment as
the one used by the CI thanks to a docker image, e.g.:

    $ cd [kernel source code]
    $ docker run -v "${PWD}:${PWD}:rw" -w "${PWD}" --privileged --rm -it \
        --pull always mptcp/mptcp-upstream-virtme-docker:latest \
        auto-normal

For more details:

    https://github.com/multipath-tcp/mptcp-upstream-virtme-docker


Please note that despite all the efforts that have been already done to have a
stable tests suite when executed on a public CI like here, it is possible some
reported issues are not due to your modifications. Still, do not hesitate to
help us improve that ;-)

Cheers,
MPTCP GH Action bot
Bot operated by Matthieu Baerts (NGI0 Core)
Matthieu Baerts Nov. 4, 2024, 11:58 a.m. UTC | #2
Hi Geliang,

On 04/11/2024 09:28, Geliang Tang wrote:
> When our bpf_selftests are re-built, this error occurs:
> 
>  make[1]: *** No rule to make target 'atomics.lskel.h',
> 			needed by '.../atomics.test.o'.  Stop.
>  make[1]: *** Waiting for unfinished jobs....
>  make[1]: Leaving directory 'tools/testing/selftests/bpf'
>  make: *** [Makefile:259: install] Error 2
>  make: Leaving directory 'tools/testing/selftests'

Ah yes, I already noticed that when checking some stuffs, but I didn't
investigate. Thank you for having looked at this!

> In this case, I had to remove the cache directory .virtme and recompile it
> again. This was very time-consuming.

You don't need to remove the whole ".virtme" directory, you can remove
".virtme/build*" instead, so you still have CCache (from ".virtme/ccache*").

> A workaround patch for this is found in [1]. I don't know why this patch
> has not been upstreamed, but it's in BPF CI environment. I think it's
> necessary to synchronize this modification to MPTCP CI environment as well.

It looks like another version has been applied in bpf-next, even if it
is a fix:

  https://lore.kernel.org/bpf/20240916195919.1872371-2-ihor.solodrai@pm.me/

Do you mind checking it please?

If it works, I can backport it to our tree, and ask BPF maintainers if
they can add these two patches in 'bpf' (fix) instead, because this
issue is present in v6.12, but only fixed in next (v6.13).

Cheers,
Matt
Matthieu Baerts Nov. 4, 2024, 12:07 p.m. UTC | #3
On 04/11/2024 12:58, Matthieu Baerts wrote:
> Hi Geliang,
> 
> On 04/11/2024 09:28, Geliang Tang wrote:
>> When our bpf_selftests are re-built, this error occurs:
>>
>>  make[1]: *** No rule to make target 'atomics.lskel.h',
>> 			needed by '.../atomics.test.o'.  Stop.
>>  make[1]: *** Waiting for unfinished jobs....
>>  make[1]: Leaving directory 'tools/testing/selftests/bpf'
>>  make: *** [Makefile:259: install] Error 2
>>  make: Leaving directory 'tools/testing/selftests'
> 
> Ah yes, I already noticed that when checking some stuffs, but I didn't
> investigate. Thank you for having looked at this!
> 
>> In this case, I had to remove the cache directory .virtme and recompile it
>> again. This was very time-consuming.
> 
> You don't need to remove the whole ".virtme" directory, you can remove
> ".virtme/build*" instead, so you still have CCache (from ".virtme/ccache*").
> 
>> A workaround patch for this is found in [1]. I don't know why this patch
>> has not been upstreamed, but it's in BPF CI environment. I think it's
>> necessary to synchronize this modification to MPTCP CI environment as well.
> 
> It looks like another version has been applied in bpf-next, even if it
> is a fix:
> 
>   https://lore.kernel.org/bpf/20240916195919.1872371-2-ihor.solodrai@pm.me/
> 
> Do you mind checking it please?

Just in case, their bpf-next/master branch has been rewritten in
between. The last ref I have is:

  fd4a0e67838c ("selftests/bpf: Set vpath in Makefile to search for skels")

> If it works, I can backport it to our tree, and ask BPF maintainers if
> they can add these two patches in 'bpf' (fix) instead, because this
> issue is present in v6.12, but only fixed in next (v6.13).
> 
> Cheers,
> Matt

Cheers,
Matt
Geliang Tang Nov. 5, 2024, 10:04 a.m. UTC | #4
Hi Matt,

On Mon, 2024-11-04 at 13:07 +0100, Matthieu Baerts wrote:
> On 04/11/2024 12:58, Matthieu Baerts wrote:
> > Hi Geliang,
> > 
> > On 04/11/2024 09:28, Geliang Tang wrote:
> > > When our bpf_selftests are re-built, this error occurs:
> > > 
> > >  make[1]: *** No rule to make target 'atomics.lskel.h',
> > > 			needed by '.../atomics.test.o'.  Stop.
> > >  make[1]: *** Waiting for unfinished jobs....
> > >  make[1]: Leaving directory 'tools/testing/selftests/bpf'
> > >  make: *** [Makefile:259: install] Error 2
> > >  make: Leaving directory 'tools/testing/selftests'
> > 
> > Ah yes, I already noticed that when checking some stuffs, but I
> > didn't
> > investigate. Thank you for having looked at this!
> > 
> > > In this case, I had to remove the cache directory .virtme and
> > > recompile it
> > > again. This was very time-consuming.
> > 
> > You don't need to remove the whole ".virtme" directory, you can
> > remove
> > ".virtme/build*" instead, so you still have CCache (from
> > ".virtme/ccache*").
> > 
> > > A workaround patch for this is found in [1]. I don't know why
> > > this patch
> > > has not been upstreamed, but it's in BPF CI environment. I think
> > > it's
> > > necessary to synchronize this modification to MPTCP CI
> > > environment as well.
> > 
> > It looks like another version has been applied in bpf-next, even if
> > it
> > is a fix:
> > 
> >  
> > https://lore.kernel.org/bpf/20240916195919.1872371-2-ihor.solodrai@pm.me/
> > 
> > Do you mind checking it please?
> 
> Just in case, their bpf-next/master branch has been rewritten in
> between. The last ref I have is:
> 
>   fd4a0e67838c ("selftests/bpf: Set vpath in Makefile to search for
> skels")
> 
> > If it works, I can backport it to our tree, and ask BPF maintainers

It works. And "selftests/bpf: Set vpath in Makefile to search for
skels" is in our tree now. So no need to apply this squash-to patch
anymore.

I changed this squash-to patch as "Rejected" in patchwork.

Thanks,
-Geliang

> > if
> > they can add these two patches in 'bpf' (fix) instead, because this
> > issue is present in v6.12, but only fixed in next (v6.13).
> > 
> > Cheers,
> > Matt
> 
> Cheers,
> Matt
diff mbox series

Patch

diff --git a/tools/testing/selftests/bpf/Makefile b/tools/testing/selftests/bpf/Makefile
index 9ec53c858d8d..64388a2fe5a0 100644
--- a/tools/testing/selftests/bpf/Makefile
+++ b/tools/testing/selftests/bpf/Makefile
@@ -652,6 +652,12 @@  $(TRUNNER_BPF_SKELS_LINKED): $(TRUNNER_OUTPUT)/%: $$$$(%-deps) $(BPFTOOL) | $(TR
 $(notdir %.skel.h): $(TRUNNER_OUTPUT)/%.skel.h
 	@true
 
+$(notdir %.lskel.h): $(TRUNNER_OUTPUT)/%.lskel.h
+	@true
+
+$(notdir %.subskel.h): $(TRUNNER_OUTPUT)/%.subskel.h
+	@true
+
 endif
 
 # ensure we set up tests.h header generation rule just once