svsematest: Add background command

Start a background process to create load on the system while running
the test.

Signed-off-by: Daniel Wagner <wagi@monom.org>
diff --git a/automated/linux/svsematest/svsematest.sh b/automated/linux/svsematest/svsematest.sh
index 8a6326e..ca800b6 100755
--- a/automated/linux/svsematest/svsematest.sh
+++ b/automated/linux/svsematest/svsematest.sh
@@ -11,16 +11,18 @@
 RESULT_FILE="${OUTPUT}/result.txt"
 DURATION="5m"
 MAX_LATENCY="100"
+BACKGROUND_CMD=""
 
 usage() {
-    echo "Usage: $0 [-D duration] [-m latency]" 1>&2
+    echo "Usage: $0 [-D duration] [-m latency] [-w background_cmd]" 1>&2
     exit 1
 }
 
-while getopts ":D:m:" opt; do
+while getopts ":D:m:w:" opt; do
     case "${opt}" in
         D) DURATION="${OPTARG}" ;;
 	m) MAX_LATENCY="${OPTARG}" ;;
+	w) BACKGROUND_CMD="${OPTARG}" ;;
         *) usage ;;
     esac
 done
@@ -37,8 +39,12 @@
     binary="./bin/${abi}/svsematest"
 fi
 
+background_process_start bgcmd --cmd "${BACKGROUND_CMD}"
+
 "${binary}" -t -a -p 98 -D "${DURATION}" | tee "${LOGFILE}"
 
+background_process_stop bgcmd
+
 # Parse test log.
 ../../lib/parse_rt_tests_results.py svsematest "${LOGFILE}" "${MAX_LATENCY}" \
     | tee -a "${RESULT_FILE}"
diff --git a/automated/linux/svsematest/svsematest.yaml b/automated/linux/svsematest/svsematest.yaml
index 10b17c6..5c50283 100644
--- a/automated/linux/svsematest/svsematest.yaml
+++ b/automated/linux/svsematest/svsematest.yaml
@@ -33,9 +33,11 @@
     # Maximal accepted latency in us
     # This value is device/kernel specific and needs to be set in the job!
     MAX_LATENCY: "100"
+    # Background workload to be run during the meassurement
+    BACKGROUND_CMD: ""
 
 run:
     steps:
         - cd ./automated/linux/svsematest
-        - ./svsematest.sh -D "${DURATION}" -m "${MAX_LATENCY}"
+        - ./svsematest.sh -D "${DURATION}" -m "${MAX_LATENCY}" -w "${BACKGROUND_CMD}"
         - ../../utils/send-to-lava.sh ./output/result.txt