automated: linux: cyclicdeadline: add pthreashold variable

Adds a `pthreshold` field to the cyclicdeadline test
configuration.  The `pthreshold` parameter allows users to define a
performance threshold for the maximum acceptable latency, enabling more
flexible validation criteria.

If the maximum latency exceeds the configured `pthreshold`, the test
will fail, providing an additional mechanism for automated performance
evaluation.

Signed-off-by: Anders Roxell <anders.roxell@linaro.org>
diff --git a/automated/linux/cyclicdeadline/cyclicdeadline.sh b/automated/linux/cyclicdeadline/cyclicdeadline.sh
index 7a65d7b..1df16d8 100755
--- a/automated/linux/cyclicdeadline/cyclicdeadline.sh
+++ b/automated/linux/cyclicdeadline/cyclicdeadline.sh
@@ -17,13 +17,14 @@
 DURATION="1m"
 BACKGROUND_CMD=""
 ITERATIONS=1
+PTHRESHOLD="10"
 
 usage() {
-    echo "Usage: $0 [-i interval] [-s step] [-t threads] [-D duration ] [-w background_cmd] [-I iterations]" 1>&2
+    echo "Usage: $0 [-i interval] [-s step] [-t threads] [-D duration ] [-w background_cmd] [-I iterations] [-p procent threshold]" 1>&2
     exit 1
 }
 
-while getopts ":i:s:t:D:w:I:" opt; do
+while getopts ":i:s:t:D:w:I:p:" opt; do
     case "${opt}" in
         i) INTERVAL="${OPTARG}" ;;
         s) STEP="${OPTARG}" ;;
@@ -31,6 +32,7 @@
         D) DURATION="${OPTARG}" ;;
         w) BACKGROUND_CMD="${OPTARG}" ;;
         I) ITERATIONS="${OPTARG}" ;;
+        p) PTHRESHOLD="${OPTARG}" ;;
         *) usage ;;
     esac
 done
@@ -84,10 +86,11 @@
     # Find the minimum latency
     min_latency=$(sort -n "${max_latencies_file}" | head -n1)
 
-    threshold=$(echo "$min_latency * 1.10" | bc -l)
+    echo "PTHRESHOLD: ${PTHRESHOLD}"
+    threshold=$(echo "$min_latency * (1.${PTHRESHOLD})" | bc -l)
 
     echo "Minimum max latency: $min_latency"
-    echo "Threshold (min * 1.10): $threshold"
+    echo "Threshold: $threshold in procent 1.$PTHRESHOLD"
 
     # Count how many latencies exceed threshold
     fail_count=0
@@ -102,7 +105,7 @@
 
     echo "Max allowed failures: $fail_limit"
     echo "Actual failures: $fail_count"
-    echo "Number of max latencies above 110% of min: $fail_count"
+    echo "Number of max latencies above 1.${PTHRESHOLD}% of min: $fail_count"
 
     if [ "$fail_count" -ge "$fail_limit" ]; then
         report_fail "rt-tests-cyclicdeadline"
diff --git a/automated/linux/cyclicdeadline/cyclicdeadline.yaml b/automated/linux/cyclicdeadline/cyclicdeadline.yaml
index 7405ee6..c8bec61 100644
--- a/automated/linux/cyclicdeadline/cyclicdeadline.yaml
+++ b/automated/linux/cyclicdeadline/cyclicdeadline.yaml
@@ -46,10 +46,11 @@
     ARTIFACTORIAL_URL: "https://archive.validation.linaro.org/artifacts/team/qa/"
     ARTIFACTORIAL_TOKEN: ""
     ITERATIONS: 1
+    PTHRESHOLD: "10"
 
 run:
     steps:
         - cd ./automated/linux/cyclicdeadline/
-        - ./cyclicdeadline.sh -i "${INTERVAL}" -s "${STEP}" -t "${THREADS}" -D "${DURATION}" -I "${ITERATIONS}" -w "${BACKGROUND_CMD}"
+        - ./cyclicdeadline.sh -i "${INTERVAL}" -s "${STEP}" -t "${THREADS}" -D "${DURATION}" -I "${ITERATIONS}" -w "${BACKGROUND_CMD}" -p "${PTHRESHOLD}"
         - ../../utils/upload-to-artifactorial.sh -a "output/cyclicdeadline.json" -u "${ARTIFACTORIAL_URL}" -t "${ARTIFACTORIAL_TOKEN}"
         - ../../utils/send-to-lava.sh ./output/result.txt