test: raise fast test timeout to 60s on RISC-V

Message ID MW4PR11MB8289B816B08C6E19716B8F82D72C2@MW4PR11MB8289.namprd11.prod.outlook.com (mailing list archive)
State New
Delegated to: Thomas Monjalon
Headers
Series test: raise fast test timeout to 60s on RISC-V |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/loongarch-compilation success Compilation OK
ci/loongarch-unit-testing success Unit Testing PASS
ci/iol-broadcom-Performance success Performance Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS
ci/github-robot: build success github build: passed
ci/iol-marvell-Functional success Functional Testing PASS
ci/iol-unit-arm64-testing success Testing PASS
ci/iol-unit-amd64-testing success Testing PASS
ci/iol-sample-apps-testing success Testing PASS
ci/iol-compile-amd64-testing success Testing PASS
ci/iol-compile-arm64-testing success Testing PASS
ci/Intel-compilation success Compilation OK
ci/intel-Testing success Testing PASS
ci/intel-Functional success Functional PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-intel-Functional success Functional Testing PASS

Commit Message

Eric Long Nov. 23, 2024, 2:58 p.m. UTC
Current RISC-V hardware (e.g. HiFive Unmatched) is still way too slow
compared to other architectures' counterparts. On the most powerful
RISC-V CPU available (SG2042), DPDK still fails with 4 timeouts:

```
Summary of Failures:

23/77 DPDK:fast-tests / eventdev_selftest_sw        TIMEOUT
    10.06s   killed by signal 15 SIGTERM
56/77 DPDK:fast-tests / rib6_autotest               TIMEOUT
    10.04s
64/77 DPDK:fast-tests / spinlock_autotest           TIMEOUT
    10.06s   killed by signal 15 SIGTERM
66/77 DPDK:fast-tests / table_autotest              TIMEOUT
    11.28s   killed by signal 15 SIGTERM
```

On HiFive Unmatched, the longest test takes 53 seconds:

```
37/77 DPDK:fast-tests / lpm6_autotest               OK
    53.29s
```

Raising timeout to 60s on RISC-V target will help test effectiveness
on it.

Signed-off-by: Eric Long <i@hack3r.moe>
---
 .mailmap                    | 1 +
 app/test/suites/meson.build | 5 +++++
 2 files changed, 6 insertions(+)
  

Comments

David Marchand Nov. 26, 2024, 8:29 p.m. UTC | #1
Addressed
On Sat, Nov 23, 2024 at 4:00 PM Eric Long <i@hack3r.moe> wrote:
>
> Current RISC-V hardware (e.g. HiFive Unmatched) is still way too slow
> compared to other architectures' counterparts. On the most powerful
> RISC-V CPU available (SG2042), DPDK still fails with 4 timeouts:
>
> ```
> Summary of Failures:
>
> 23/77 DPDK:fast-tests / eventdev_selftest_sw        TIMEOUT
>     10.06s   killed by signal 15 SIGTERM
> 56/77 DPDK:fast-tests / rib6_autotest               TIMEOUT
>     10.04s
> 64/77 DPDK:fast-tests / spinlock_autotest           TIMEOUT
>     10.06s   killed by signal 15 SIGTERM
> 66/77 DPDK:fast-tests / table_autotest              TIMEOUT
>     11.28s   killed by signal 15 SIGTERM
> ```
>
> On HiFive Unmatched, the longest test takes 53 seconds:
>
> ```
> 37/77 DPDK:fast-tests / lpm6_autotest               OK
>     53.29s
> ```
>
> Raising timeout to 60s on RISC-V target will help test effectiveness
> on it.

You can extend the timeout via the multiplier option (default timeout
of 10s * multiplier).
So in your case:
$ meson test -C <build> --suite fast-tests -t 6
  
Eric Long Nov. 27, 2024, 3:26 a.m. UTC | #2
Addressed
On 27/11/2024 04:29, David Marchand wrote:
> You can extend the timeout via the multiplier option (default timeout
> of 10s * multiplier).
> So in your case:
> $ meson test -C <build> --suite fast-tests -t 6

I hope the RISC-V specific extended timeout could be upstreamed though, 
in this way we won't need to bump timeout in every distro supporting the 
architecture (like Debian [1]) or even not running the tests altogether 
(like OpenSUSE [2] and Fedora [3]), just because tests are failing due 
to timeout.

Cheers,
Eric

[1]: 
https://salsa.debian.org/debian/dpdk/-/blob/unstable/debian/tests/test-fastsuite?ref_type=heads#L31
[2]: 
https://build.opensuse.org/projects/openSUSE:Factory/packages/dpdk/files/dpdk.spec?expand=1
[3]: https://src.fedoraproject.org/rpms/dpdk/blob/rawhide/f/dpdk.spec
  

Patch

diff --git a/.mailmap b/.mailmap
index 7334ad58a9..24f3f4a0cd 100644
--- a/.mailmap
+++ b/.mailmap
@@ -404,6 +404,7 @@  Erez Ferber <erezf@nvidia.com> <erezf@mellanox.com>
 Erez Shitrit <erezsh@nvidia.com>
 Eric Joyner <eric.joyner@intel.com>
 Eric Kinzie <ekinzie@brocade.com> <ehkinzie@gmail.com>
+Eric Long <i@hack3r.moe>
 Eric Zhang <eric.zhang@windriver.com>
 Erik Gabriel Carrillo <erik.g.carrillo@intel.com>
 Erik Ziegenbalg <eziegenb@brocade.com>
diff --git a/app/test/suites/meson.build b/app/test/suites/meson.build
index 191702cf76..b74d1c4ad7 100644
--- a/app/test/suites/meson.build
+++ b/app/test/suites/meson.build
@@ -6,6 +6,11 @@ 
 timeout_seconds = 600
 timeout_seconds_fast = 10
 
+if arch_subdir == 'riscv'
+    # Current RISC-V machines are too slow to finish fast tests under 10s
+    timeout_seconds_fast = 60
+endif
+
 test_no_huge_args = ['--no-huge', '-m', '2048']
 has_hugepage = run_command(has_hugepages_cmd, check: true).stdout().strip() != '0'
 message('hugepage availability: @0@'.format(has_hugepage))