[PATCH bpf-next] selftests/bpf: Skip all serial_test_get_branch_snapshot in vm

Subsystems: bpf [general] (safe dynamic programs and tools), bpf [selftests] (test runners & infrastructure), kernel selftest framework, the rest

STALE1757d LANDED

Landed in mainline as b4e87072762d on 2021-10-26.

2 messages, 2 authors, 2021-10-26 · open the first message on its own page

[PATCH bpf-next] selftests/bpf: Skip all serial_test_get_branch_snapshot in vm

From: Song Liu <hidden>
Date: 2021-10-26 00:07:42

Skipping the second half of the test is not enough to silent the warning
in dmesg. Skip the whole test before we can either properly silent the
warning in kernel, or fix LBR snapshot for VM.

Fixes: 025bd7c753aa ("selftests/bpf: Add test for bpf_get_branch_snapshot")
Fixes: aa67fdb46436 ("selftests/bpf: Skip the second half of get_branch_snapshot in vm")
Signed-off-by: Song Liu <redacted>
---
 .../bpf/prog_tests/get_branch_snapshot.c         | 16 ++++++----------
 1 file changed, 6 insertions(+), 10 deletions(-)
diff --git a/tools/testing/selftests/bpf/prog_tests/get_branch_snapshot.c b/tools/testing/selftests/bpf/prog_tests/get_branch_snapshot.c
index d6d70a359aeb5..81402e4439844 100644
--- a/tools/testing/selftests/bpf/prog_tests/get_branch_snapshot.c
+++ b/tools/testing/selftests/bpf/prog_tests/get_branch_snapshot.c
@@ -78,6 +78,12 @@ void serial_test_get_branch_snapshot(void)
 	struct get_branch_snapshot *skel = NULL;
 	int err;
 
+	/* Skip the test before we fix LBR snapshot for hypervisor. */
+	if (is_hypervisor()) {
+		test__skip();
+		return;
+	}
+
 	if (create_perf_events()) {
 		test__skip();  /* system doesn't support LBR */
 		goto cleanup;
@@ -107,16 +113,6 @@ void serial_test_get_branch_snapshot(void)
 		goto cleanup;
 	}
 
-	if (is_hypervisor()) {
-		/* As of today, LBR in hypervisor cannot be stopped before
-		 * too many entries are flushed. Skip the hit/waste test
-		 * for now in hypervisor until we optimize the LBR in
-		 * hypervisor.
-		 */
-		test__skip();
-		goto cleanup;
-	}
-
 	ASSERT_GT(skel->bss->test1_hits, 6, "find_looptest_in_lbr");
 
 	/* Given we stop LBR in software, we will waste a few entries.
-- 
2.30.2

Re: [PATCH bpf-next] selftests/bpf: Skip all serial_test_get_branch_snapshot in vm

From: Andrii Nakryiko <hidden>
Date: 2021-10-26 03:45:49

On Mon, Oct 25, 2021 at 5:07 PM Song Liu [off-list ref] wrote:
Skipping the second half of the test is not enough to silent the warning
in dmesg. Skip the whole test before we can either properly silent the
warning in kernel, or fix LBR snapshot for VM.

Fixes: 025bd7c753aa ("selftests/bpf: Add test for bpf_get_branch_snapshot")
Fixes: aa67fdb46436 ("selftests/bpf: Skip the second half of get_branch_snapshot in vm")
Signed-off-by: Song Liu <redacted>
---
Applied to bpf-next, thanks for the fix!
quoted hunk
 .../bpf/prog_tests/get_branch_snapshot.c         | 16 ++++++----------
 1 file changed, 6 insertions(+), 10 deletions(-)
diff --git a/tools/testing/selftests/bpf/prog_tests/get_branch_snapshot.c b/tools/testing/selftests/bpf/prog_tests/get_branch_snapshot.c
index d6d70a359aeb5..81402e4439844 100644
--- a/tools/testing/selftests/bpf/prog_tests/get_branch_snapshot.c
+++ b/tools/testing/selftests/bpf/prog_tests/get_branch_snapshot.c
@@ -78,6 +78,12 @@ void serial_test_get_branch_snapshot(void)
        struct get_branch_snapshot *skel = NULL;
        int err;

+       /* Skip the test before we fix LBR snapshot for hypervisor. */
+       if (is_hypervisor()) {
+               test__skip();
+               return;
+       }
+
        if (create_perf_events()) {
                test__skip();  /* system doesn't support LBR */
                goto cleanup;
@@ -107,16 +113,6 @@ void serial_test_get_branch_snapshot(void)
                goto cleanup;
        }

-       if (is_hypervisor()) {
-               /* As of today, LBR in hypervisor cannot be stopped before
-                * too many entries are flushed. Skip the hit/waste test
-                * for now in hypervisor until we optimize the LBR in
-                * hypervisor.
-                */
-               test__skip();
-               goto cleanup;
-       }
-
        ASSERT_GT(skel->bss->test1_hits, 6, "find_looptest_in_lbr");

        /* Given we stop LBR in software, we will waste a few entries.
--
2.30.2
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help