blob: 3bcd004149a5fca7c65ecbe3dd20d1e0efc74348 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
#!/bin/bash
EPS_FLAG=
while true; do
case $1 in
--eps)
shift
EPS_FLAG="--eps"
;;
*)
break
;;
esac
done
PLOTTER="plot_scatter $EPS_FLAG --lines --xrange 0.5 32.5 --yrange -0.05 1.05 --xticks 0 2 --yticks 0 0.1"
function get_tmp_file {
OS=`uname`
if [ $OS == "Linux" ]
then
mktemp
else # Darwin
mktemp -t ecrts
fi
}
function get_val {
echo "$1" | sed 's/.*=//g'
}
function plot_file {
SCHED="G-EDF"
FILE=$1
NAME=`basename $FILE | sed -e 's/.csv//g'`
STRIPPED=`get_tmp_file`
# remove comments for Gnuplot
egrep -v '^#' $FILE > $STRIPPED
# decode file name
PARAMS=
for KV in `echo $NAME | sed -e 's/_/ /g'`
do
case $KV in
pedf)
SCHED="P-EDF"
;;
gedf)
SCHED="G-EDF"
;;
hard)
TEST="hard"
;;
soft)
TEST="soft"
;;
axis*)
AXIS=`get_val $KV`
;;
rmax*|rmin*|wmax*|wmin*)
# ignored, not shown
;;
*)
PARAMS="$PARAMS $KV"
;;
esac
done
TITLE="$TEST schedulability under $SCHED with$PARAMS"
echo $TITLE
$PLOTTER "$NAME" "$AXIS" "Schedulability" "$TITLE" \
$STRIPPED 1 2 "fair mutex" \
$STRIPPED 1 3 "task-fair RW" \
$STRIPPED 1 4 "phase-fair RW"
rm $STRIPPED
}
while [ ! -z "$1" ]
do
echo "Plotting $1..."
plot_file $1
shift
done
|