aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/pm_test_script
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/pm_test_script')
-rwxr-xr-xscripts/pm_test_script55
1 files changed, 55 insertions, 0 deletions
diff --git a/scripts/pm_test_script b/scripts/pm_test_script
new file mode 100755
index 0000000..c9034f8
--- /dev/null
+++ b/scripts/pm_test_script
@@ -0,0 +1,55 @@
1#!/bin/bash
2#
3# pm_test_script:
4# Batch script for running (all?) pm benchmarking experiments.
5# Run it as root!
6#
7# Some assumptions and hints:
8# _works easily if copied in the main liblitmus directory
9# _need the Makefile in wip-pm-ovd litmus2010 branch to compile
10# smoothly
11# _assume a pm_raw_results directory under liblitmus to store
12# raw results
13# _assume tasksets are stored in several directories under
14# liblitmus with the name: PLUGIN-ts/uni1_TASKSETSIZE_[0..9].ts
15# e.g., GSN-EDF-ts/uni1_450_8.ts
16#
17# Original script by John Calandrino 2008
18# Changes by Andrea Bastoni 2010
19#
20#for A in "PFAIR" "GSN-EDF" "C-EDF" "PSN-EDF";
21for A in "GSN-EDF";
22do
23 echo "Setting plugin $A..."
24# ./setsched $A
25 sleep 1
26
27 for W in 1024;
28 do
29 echo "Experiments for WSS of `expr $W`KB"
30 DEFINE=-DWSS=$W make
31 sleep 1
32 for X in `seq -w 50 50 450`; # Number of tasks
33 do
34 for Y in `seq 0 9`; # Taskset number
35 do
36 # Read task set from some source and start all tasks.
37 TASK=0
38 while read inputline;
39 do
40 e=`echo $inputline | awk -F' ' '{print $1}'`
41 p=`echo $inputline | awk -F' ' '{print $2}'`
42 c=`echo $inputline | awk -F' ' '{print $3}'`
43 ./rt_launch -w $e $p -p $c ./pm_task ./pm_raw_results/results_`expr $A`_`expr $W`_`expr $X`_`expr $Y`_`expr $TASK`.raw
44 TASK=`expr $TASK + 1`
45 done < `expr $A`-ts/uni1_`expr $X`_`expr $Y`.ts
46 ./release_ts -d 5000
47 # Sleep for 150 seconds. This includes ~60 seconds
48 # of run time followed by 90 seconds of "tear down" time.
49 # NOTE: may need to sleep longer than this...
50 sleep 150
51 killall pm_task
52 done
53 done
54 done
55done