Subject: [RFC PATCH] find_vma BPF test: increase length CPU computation

Some aarch64 systems running a PREEMPT_RT patched kernel, needs
more time to complete the test.
This change mirrors:
commit ba83af059153 ("Improve stability of find_vma BPF test")
addressing similar requirements and allowing the QTI SA8775P based
systems, and others, to complete the test when running RT kernel.

Signed-off-by: Alessandro Carminati (Red Hat) <[email protected]>
---
tools/testing/selftests/bpf/prog_tests/find_vma.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/tools/testing/selftests/bpf/prog_tests/find_vma.c b/tools/testing/selftests/bpf/prog_tests/find_vma.c
index 5165b38f0e59..43d62db8d57b 100644
--- a/tools/testing/selftests/bpf/prog_tests/find_vma.c
+++ b/tools/testing/selftests/bpf/prog_tests/find_vma.c
@@ -51,7 +51,7 @@ static void test_find_vma_pe(struct find_vma *skel)
struct bpf_link *link = NULL;
volatile int j = 0;
int pfd, i;
- const int one_bn = 1000000000;
+ const int dummy_wait = 2500000000;

pfd = open_pe();
if (pfd < 0) {
@@ -68,10 +68,10 @@ static void test_find_vma_pe(struct find_vma *skel)
if (!ASSERT_OK_PTR(link, "attach_perf_event"))
goto cleanup;

- for (i = 0; i < one_bn && find_vma_pe_condition(skel); ++i)
+ for (i = 0; i < dummy_wait && find_vma_pe_condition(skel); ++i)
++j;

- test_and_reset_skel(skel, -EBUSY /* in nmi, irq_work is busy */, i == one_bn);
+ test_and_reset_skel(skel, -EBUSY /* in nmi, irq_work is busy */, i == dummy_wait);
cleanup:
bpf_link__destroy(link);
close(pfd);
--
2.34.1



2024-01-09 17:45:42

by Song Liu

[permalink] [raw]
Subject: Re: [RFC PATCH] find_vma BPF test: increase length CPU computation

On Tue, Jan 9, 2024 at 1:57 AM Alessandro Carminati (Red Hat)
<[email protected]> wrote:
>
> Some aarch64 systems running a PREEMPT_RT patched kernel, needs
> more time to complete the test.
> This change mirrors:
> commit ba83af059153 ("Improve stability of find_vma BPF test")
> addressing similar requirements and allowing the QTI SA8775P based
> systems, and others, to complete the test when running RT kernel.
>
> Signed-off-by: Alessandro Carminati (Red Hat) <alessandro.carminati@gmailcom>
> ---
> tools/testing/selftests/bpf/prog_tests/find_vma.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/tools/testing/selftests/bpf/prog_tests/find_vma.c b/tools/testing/selftests/bpf/prog_tests/find_vma.c
> index 5165b38f0e59..43d62db8d57b 100644
> --- a/tools/testing/selftests/bpf/prog_tests/find_vma.c
> +++ b/tools/testing/selftests/bpf/prog_tests/find_vma.c
> @@ -51,7 +51,7 @@ static void test_find_vma_pe(struct find_vma *skel)
> struct bpf_link *link = NULL;
> volatile int j = 0;
> int pfd, i;
> - const int one_bn = 1000000000;
> + const int dummy_wait = 2500000000;

2500000000 is bigger than INT_MAX.

>
> pfd = open_pe();
> if (pfd < 0) {
> @@ -68,10 +68,10 @@ static void test_find_vma_pe(struct find_vma *skel)
> if (!ASSERT_OK_PTR(link, "attach_perf_event"))
> goto cleanup;
>
> - for (i = 0; i < one_bn && find_vma_pe_condition(skel); ++i)
> + for (i = 0; i < dummy_wait && find_vma_pe_condition(skel); ++i)
> ++j;

So we will skip this loop. Right?

Thanks,
Song


>
> - test_and_reset_skel(skel, -EBUSY /* in nmi, irq_work is busy */, i == one_bn);
> + test_and_reset_skel(skel, -EBUSY /* in nmi, irq_work is busy */, i == dummy_wait);
> cleanup:
> bpf_link__destroy(link);
> close(pfd);
> --
> 2.34.1
>