diff options
| author | leochanj105 <leochanj@live.unc.edu> | 2021-10-29 03:40:38 -0400 |
|---|---|---|
| committer | leochanj105 <leochanj@live.unc.edu> | 2021-10-29 03:40:38 -0400 |
| commit | 92df3dcae6747e4410574e7bf1f14dd1c07c3471 (patch) | |
| tree | fafe9dbe89a4f7f715eee72644b906e698af29dc /run_all_casestudies.sh | |
| parent | 895707a76ef3711474eb98c4358588a96926739f (diff) | |
tmp 10/29
Diffstat (limited to 'run_all_casestudies.sh')
| -rw-r--r-- | run_all_casestudies.sh | 47 |
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 | |||
| 5 | casestudies=("12" "20" "21" "30" "31" "32") #("10" "11" "12" "20" "21" "30" "31" "32") | ||
| 6 | periods=(129 68 75 126 164 189) #(86 104 129 68 75 126 164 189) #ms | ||
| 7 | |||
| 8 | iterations=50000 | ||
| 9 | iteration_safety_margin=20 | ||
| 10 | |||
| 11 | safety_wait_secs=3 | ||
| 12 | |||
| 13 | sudo /home/ae/liblitmus/setsched P-FP | ||
| 14 | sudo /home/ae/liblitmus/showsched | ||
| 15 | |||
| 16 | |||
| 17 | if ! cat /proc/litmus/stats | grep -q 'real-time tasks = 0'; then | ||
| 18 | echo "ERROR: NOT ALL TASKS OUT OF SYSTEM." | ||
| 19 | fi | ||
| 20 | |||
| 21 | for 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 | ||
| 44 | done | ||
| 45 | echo "printing deadline misses:" | ||
| 46 | cat deadline_misses | ||
| 47 | echo "-------------------------" | ||
