aboutsummaryrefslogtreecommitdiff
path: root/test/performance/odp_sched_perf_run.sh
diff options
context:
space:
mode:
Diffstat (limited to 'test/performance/odp_sched_perf_run.sh')
-rwxr-xr-xtest/performance/odp_sched_perf_run.sh62
1 files changed, 37 insertions, 25 deletions
diff --git a/test/performance/odp_sched_perf_run.sh b/test/performance/odp_sched_perf_run.sh
index 8e7911290..d4c8ebf6e 100755
--- a/test/performance/odp_sched_perf_run.sh
+++ b/test/performance/odp_sched_perf_run.sh
@@ -1,33 +1,45 @@
#!/bin/sh
#
-# Copyright (c) 2021, Nokia
-# All rights reserved.
-#
-# SPDX-License-Identifier: BSD-3-Clause
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright (c) 2021-2024 Nokia
#
TEST_DIR="${TEST_DIR:-$(dirname $0)}"
-echo odp_sched_perf: buffer pool
-echo ===============================================
-
-$TEST_DIR/odp_sched_perf${EXEEXT} -p 0
-
-RET_VAL=$?
-if [ $RET_VAL -ne 0 ]; then
- echo odp_sched_perf -p 0: FAILED
- exit $RET_VAL
-fi
-
-echo odp_sched_perf: packet pool
-echo ===============================================
-
-$TEST_DIR/odp_sched_perf${EXEEXT} -p 1
-
-RET_VAL=$?
-if [ $RET_VAL -ne 0 ]; then
- echo odp_sched_perf -p 1: FAILED
- exit $RET_VAL
-fi
+run()
+{
+ # Maximum number of workers may be less than the number of available processors. One worker
+ # should be always available.
+ MAX_WORKERS=$(($(nproc) - 2))
+ if [ $MAX_WORKERS -lt 1 ]; then
+ MAX_WORKERS=1
+ fi
+
+ if [ $MAX_WORKERS -lt $1 ]; then
+ echo "Not enough CPU cores (requested $1, available $MAX_WORKERS). Skipping test."
+ else
+ echo odp_sched_perf -p 0 -c $1
+ echo ===============================================
+ $TEST_DIR/odp_sched_perf${EXEEXT} -p 0 -c $1
+ RET_VAL=$?
+ if [ $RET_VAL -ne 0 ]; then
+ echo odp_sched_perf FAILED
+ exit $RET_VAL
+ fi
+
+ echo odp_sched_perf -p 1 -c $1
+ echo ===============================================
+ $TEST_DIR/odp_sched_perf${EXEEXT} -p 1 -c $1
+ RET_VAL=$?
+ if [ $RET_VAL -ne 0 ]; then
+ echo odp_sched_perf FAILED
+ exit $RET_VAL
+ fi
+ fi
+}
+
+run 1
+run 2
+run 6
exit 0