And in "DO-NOT-MERGE: mptcp: improve code coverage for CI (net)".
This is similar to commit bc75dcc3cea7 ("net: rds: add option for GCOV
profiling"), but I don't think we need to upstream that. Or not for the
moment as the selftests don't depend on GCOV support.
If we do, we will also need to update Documentation/dev-tools/gcov.rst.
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
---
net/mptcp/Kconfig | 9 +++++++++
net/mptcp/Makefile | 5 +++++
2 files changed, 14 insertions(+)
diff --git a/net/mptcp/Kconfig b/net/mptcp/Kconfig
index 10c97e19a7da5cbb1538b34a8eeca2e89795dfae..f674915dc31e521e6fe9dbcef03e65bdba10dd3d 100644
--- a/net/mptcp/Kconfig
+++ b/net/mptcp/Kconfig
@@ -37,4 +37,13 @@ config MPTCP_KUNIT_TEST
If unsure, say N.
+config GCOV_PROFILE_MPTCP
+ bool "Enable GCOV profiling on MPTCP"
+ depends on GCOV_KERNEL
+ help
+ Enable GCOV profiling on MPTCP for checking which functions/lines
+ are executed.
+
+ If unsure, say N.
+
endif
diff --git a/net/mptcp/Makefile b/net/mptcp/Makefile
index bcf1dbf3a432f7423b048e985667f199797042b3..5dbc37d38d7a4b0779c71e7b291ef83a49e46648 100644
--- a/net/mptcp/Makefile
+++ b/net/mptcp/Makefile
@@ -13,3 +13,8 @@ mptcp_token_test-objs := token_test.o
obj-$(CONFIG_MPTCP_KUNIT_TEST) += mptcp_crypto_test.o mptcp_token_test.o
obj-$(CONFIG_BPF_SYSCALL) += bpf.o
+
+# for GCOV coverage profiling
+ifdef CONFIG_GCOV_PROFILE_MPTCP
+GCOV_PROFILE := y
+endif
---
base-commit: d269ec78a30bc7a57999838c477a83b0e0101a57
change-id: 20240924-mptcp-gcov-49368d19b22f
Best regards,
--
Matthieu Baerts (NGI0) <matttbe@kernel.org>
Hi Matthieu, 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 (only bpftest_all): Success! ✅ - Task: https://github.com/multipath-tcp/mptcp_net-next/actions/runs/11018378042 Initiator: Patchew Applier Commits: https://github.com/multipath-tcp/mptcp_net-next/commits/1ce376cf68b0 Patchwork: https://patchwork.kernel.org/project/mptcp/list/?series=892525 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)
Hello, On 24/09/2024 18:39, Matthieu Baerts (NGI0) wrote: > And in "DO-NOT-MERGE: mptcp: improve code coverage for CI (net)". > > This is similar to commit bc75dcc3cea7 ("net: rds: add option for GCOV > profiling"), but I don't think we need to upstream that. Or not for the > moment as the selftests don't depend on GCOV support. > > If we do, we will also need to update Documentation/dev-tools/gcov.rst. FYI, I just applied this patch in our tree - 66b668896210: "squashed" in "DO-NOT-MERGE: mptcp: improve code coverage for CI (net)" - 07234ab477d3: "squashed" in "DO-NOT-MERGE: mptcp: improve code coverage for CI" Cheers, Matt -- Sponsored by the NGI0 Core fund.
© 2016 - 2024 Red Hat, Inc.