Cores count has a direct impact on the time needed to complete unit tests. Currently, the core list used for unit test is enforced to "all cores on the system" with no way for (CI) users to adapt it. On the other hand, EAL default behavior (when no -c/-l option gets passed) is to start threads on as many cores available in the process cpu affinity.
Remove logic from meson: users can then select where to run the tests by either running meson with a custom cpu affinity (using taskset/cpuset depending on OS) or by passing a --test-args option to meson. Example: $ sudo meson test -C build --suite fast-tests -t 3 --test-args "-l 0-3" Signed-off-by: David Marchand <david.march...@redhat.com> --- I wanted to post this as a RFC, but now, I wonder if all CI test RFC patches, so sending as a normal patch. --- app/test/get-coremask.sh | 13 ------------- app/test/meson.build | 10 +--------- 2 files changed, 1 insertion(+), 22 deletions(-) delete mode 100755 app/test/get-coremask.sh diff --git a/app/test/get-coremask.sh b/app/test/get-coremask.sh deleted file mode 100755 index bb8cf404d2..0000000000 --- a/app/test/get-coremask.sh +++ /dev/null @@ -1,13 +0,0 @@ -#! /bin/sh -e -# SPDX-License-Identifier: BSD-3-Clause -# Copyright(c) 2019 Intel Corporation - -if [ "$(uname)" = "Linux" ] ; then - cat /sys/devices/system/cpu/present -elif [ "$(uname)" = "FreeBSD" ] ; then - ncpus=$(/sbin/sysctl -n hw.ncpu) - echo 0-$(expr $ncpus - 1) -else -# fallback - echo 0-3 -fi diff --git a/app/test/meson.build b/app/test/meson.build index a16374b7a1..c7b377d52d 100644 --- a/app/test/meson.build +++ b/app/test/meson.build @@ -463,13 +463,8 @@ message('hugepage availability: @0@'.format(has_hugepage)) timeout_seconds = 600 timeout_seconds_fast = 10 -get_coremask = find_program('get-coremask.sh') -num_cores_arg = '-l ' + run_command(get_coremask).stdout().strip() - -default_test_args = [num_cores_arg] - foreach arg : fast_tests - test_args = default_test_args + test_args = [] run_test = true if not has_hugepage if arg[1] @@ -502,7 +497,6 @@ endforeach foreach arg : perf_test_names test(arg, dpdk_test, env : ['DPDK_TEST=' + arg], - args : default_test_args, timeout : timeout_seconds, is_parallel : false, suite : 'perf-tests') @@ -511,7 +505,6 @@ endforeach foreach arg : driver_test_names test(arg, dpdk_test, env : ['DPDK_TEST=' + arg], - args : default_test_args, timeout : timeout_seconds, is_parallel : false, suite : 'driver-tests') @@ -520,7 +513,6 @@ endforeach foreach arg : dump_test_names test(arg, dpdk_test, env : ['DPDK_TEST=' + arg], - args : default_test_args, timeout : timeout_seconds, is_parallel : false, suite : 'debug-tests') -- 2.23.0