summaryrefslogtreecommitdiffstats
path: root/run_all_casestudies.sh
diff options
context:
space:
mode:
Diffstat (limited to 'run_all_casestudies.sh')
-rw-r--r--run_all_casestudies.sh47
1 files changed, 47 insertions, 0 deletions
diff --git a/run_all_casestudies.sh b/run_all_casestudies.sh
new file mode 100644
index 0000000..83e1d41
--- /dev/null
+++ b/run_all_casestudies.sh
@@ -0,0 +1,47 @@
1#!/bin/bash
2
3# run this with sudo
4
5casestudies=("12" "20" "21" "30" "31" "32") #("10" "11" "12" "20" "21" "30" "31" "32")
6periods=(129 68 75 126 164 189) #(86 104 129 68 75 126 164 189) #ms
7
8iterations=50000
9iteration_safety_margin=20
10
11safety_wait_secs=3
12
13sudo /home/ae/liblitmus/setsched P-FP
14sudo /home/ae/liblitmus/showsched
15
16
17if ! cat /proc/litmus/stats | grep -q 'real-time tasks = 0'; then
18 echo "ERROR: NOT ALL TASKS OUT OF SYSTEM."
19fi
20
21for i in ${!casestudies[@]}; do
22 echo "------RELEASING sched-${casestudies[i]}------"
23 stderr_name = deadline_misses_sched-${casestudies[i]}_${iterations}
24 echo "stderr file goes to ${stderr_name}"
25 #sudo python3 run_case_study_dag.py sched-${casestudies[i]} 1
26 sleep $safety_wait_secs
27 sudo /home/ae/liblitmus/release_ts
28
29 if cat /proc/litmus/stats | grep -q 'real-time tasks = 0'; then
30 echo "ERROR: problem releasing tasks."
31 fi
32 sleep_dur=$(( ($iterations+$iteration_safety_margin)*${periods[i]}/1000+$safety_wait_secs ))
33 echo "sleeping for $sleep_dur s..."
34 sleep $sleep_dur
35 while ! cat /proc/litmus/stats | grep -q 'real-time tasks = 0'; do
36 sleep_dur=$(( ($iteration_safety_margin)*${periods[i]}/1000+$safety_wait_secs ))
37 echo "sleeping for $sleep_dur s..."
38 sleep $sleep_dur
39 done
40
41 if cat /proc/litmus/stats | grep -q 'tardy'; then
42 echo "**********************DEADLINE MISS**********************"
43 fi
44done
45echo "printing deadline misses:"
46cat deadline_misses
47echo "-------------------------"