f175e050 |
1 | #!/bin/sh |
2 | |
64242d95 |
3 | make clean |
4 | make #build no flush modules |
5 | |
7c74e09f |
6 | ITER=10 |
37c58830 |
7 | LOOPS=20000 |
db68aac5 |
8 | |
8dd5f9aa |
9 | insmod test-mark-speed-empty.ko |
255c10a8 |
10 | cat /proc/testmark |
db68aac5 |
11 | for a in `seq 1 $ITER`; do cat /proc/testmark;done |
8dd5f9aa |
12 | rmmod test-mark-speed-empty |
ac7efa12 |
13 | RESEMP=`dmesg |grep "cycles : " |tail -n 10 |sed 's/^\[.*\] //'| sed 's/cycles : \(.*\)$/\1/'` |
8dd5f9aa |
14 | |
f175e050 |
15 | insmod test-mark-speed.ko |
255c10a8 |
16 | cat /proc/testmark |
db68aac5 |
17 | for a in `seq 1 $ITER`; do cat /proc/testmark;done |
f175e050 |
18 | rmmod test-mark-speed |
ac7efa12 |
19 | RESSTD=`dmesg |grep "cycles : " |tail -n 10 |sed 's/^\[.*\] //'| sed 's/cycles : \(.*\)$/\1/'` |
f175e050 |
20 | |
21 | insmod test-mark-speed-opt.ko |
255c10a8 |
22 | cat /proc/testmark |
db68aac5 |
23 | for a in `seq 1 $ITER`; do cat /proc/testmark;done |
f175e050 |
24 | rmmod test-mark-speed-opt |
ac7efa12 |
25 | RESOPT=`dmesg |grep "cycles : " |tail -n 10 |sed 's/^\[.*\] //'| sed 's/cycles : \(.*\)$/\1/'` |
f175e050 |
26 | |
27 | insmod test-mark-speed-edit.ko |
a1d38aec |
28 | #Patch with nops |
db68aac5 |
29 | cat /proc/testmark |
30 | |
31 | for a in `seq 1 $ITER`; do cat /proc/testmark;done |
f175e050 |
32 | rmmod test-mark-speed-edit |
ac7efa12 |
33 | RESNOP=`dmesg |grep "cycles : " |tail -n 10 |sed 's/^\[.*\] //'| sed 's/cycles : \(.*\)$/\1/'` |
f175e050 |
34 | |
72777946 |
35 | insmod test-mark-speed-local.ko |
36 | #Patch with nops |
37 | cat /proc/testmark |
38 | |
39 | for a in `seq 1 $ITER`; do cat /proc/testmark;done |
40 | rmmod test-mark-speed-local |
ac7efa12 |
41 | RESNOPLOCAL=`dmesg |grep "cycles : " |tail -n 10 |sed 's/^\[.*\] //'| sed 's/cycles : \(.*\)$/\1/'` |
72777946 |
42 | |
f175e050 |
43 | |
70185ef6 |
44 | make clean |
45 | make EXTRA_CFLAGS=-DCACHEFLUSH |
d511c84b |
46 | |
64242d95 |
47 | |
48 | insmod test-mark-speed-empty.ko |
255c10a8 |
49 | cat /proc/testmark |
64242d95 |
50 | for a in `seq 1 $ITER`; do cat /proc/testmark;done |
51 | rmmod test-mark-speed-empty |
ac7efa12 |
52 | RESEMPFL=`dmesg |grep "cycles : " |tail -n 10 |sed 's/^\[.*\] //'| sed 's/cycles : \(.*\)$/\1/'` |
64242d95 |
53 | |
54 | insmod test-mark-speed.ko |
255c10a8 |
55 | cat /proc/testmark |
64242d95 |
56 | for a in `seq 1 $ITER`; do cat /proc/testmark;done |
57 | rmmod test-mark-speed |
ac7efa12 |
58 | RESSTDFL=`dmesg |grep "cycles : " |tail -n 10 |sed 's/^\[.*\] //'| sed 's/cycles : \(.*\)$/\1/'` |
64242d95 |
59 | |
60 | insmod test-mark-speed-opt.ko |
255c10a8 |
61 | cat /proc/testmark |
64242d95 |
62 | for a in `seq 1 $ITER`; do cat /proc/testmark;done |
63 | rmmod test-mark-speed-opt |
ac7efa12 |
64 | RESOPTFL=`dmesg |grep "cycles : " |tail -n 10 |sed 's/^\[.*\] //'| sed 's/cycles : \(.*\)$/\1/'` |
64242d95 |
65 | |
66 | insmod test-mark-speed-edit.ko |
67 | #Patch with nops |
68 | cat /proc/testmark |
69 | |
70 | for a in `seq 1 $ITER`; do cat /proc/testmark;done |
71 | rmmod test-mark-speed-edit |
ac7efa12 |
72 | RESNOPFL=`dmesg |grep "cycles : " |tail -n 10 |sed 's/^\[.*\] //'| sed 's/cycles : \(.*\)$/\1/'` |
64242d95 |
73 | |
72777946 |
74 | insmod test-mark-speed-local.ko |
75 | #Patch with nops |
76 | cat /proc/testmark |
77 | |
78 | for a in `seq 1 $ITER`; do cat /proc/testmark;done |
79 | rmmod test-mark-speed-local |
ac7efa12 |
80 | RESNOPLOCALFL=`dmesg |grep "cycles : " |tail -n 10 |sed 's/^\[.*\] //'| sed 's/cycles : \(.*\)$/\1/'` |
72777946 |
81 | |
64242d95 |
82 | |
64242d95 |
83 | |
84 | echo "Results in cycles per loop" |
8dd5f9aa |
85 | |
64242d95 |
86 | echo "Cycles for empty loop (will be substracted for cached runs)" |
8dd5f9aa |
87 | SUM="0" |
869b7fc3 |
88 | for a in $RESEMP; do SUM=`echo "$SUM + $a" | bc -l /dev/stdin`; done |
db68aac5 |
89 | RESEMP=`echo $SUM/$ITER/$LOOPS | bc -l /dev/stdin` |
d09a9b2c |
90 | echo $RESEMP |
8dd5f9aa |
91 | |
17ece3aa |
92 | echo "Cycles for clflush() loop (will be substracted non-cached runs)" |
64242d95 |
93 | SUM="0" |
869b7fc3 |
94 | for a in $RESEMPFL; do SUM=`echo "$SUM + $a" | bc -l /dev/stdin`; done |
64242d95 |
95 | RESEMPFL=`echo $SUM/$ITER/$LOOPS | bc -l /dev/stdin` |
96 | echo $RESEMPFL |
f175e050 |
97 | |
64242d95 |
98 | |
455a237d |
99 | echo -n "Added cycles for normal marker [cached, uncached] " |
f175e050 |
100 | SUM="0" |
869b7fc3 |
101 | for a in $RESSTD; do SUM=`echo "$SUM + $a" | bc -l /dev/stdin`; done |
db68aac5 |
102 | RESSTD=`echo $SUM/$ITER/$LOOPS - $RESEMP | bc -l /dev/stdin` |
455a237d |
103 | echo -n "[$RESSTD, " |
f175e050 |
104 | |
64242d95 |
105 | SUM="0" |
869b7fc3 |
106 | for a in $RESSTDFL; do SUM=`echo "$SUM + $a" | bc -l /dev/stdin`; done |
64242d95 |
107 | RESSTDFL=`echo $SUM/$ITER/$LOOPS - $RESEMPFL | bc -l /dev/stdin` |
455a237d |
108 | echo "$RESSTDFL]" |
64242d95 |
109 | |
110 | |
111 | |
455a237d |
112 | echo -n "Added cycles for optimized marker [cached, uncached] " |
f175e050 |
113 | SUM="0" |
869b7fc3 |
114 | for a in $RESOPT; do SUM=`echo "$SUM + $a" | bc -l /dev/stdin`; done |
db68aac5 |
115 | RESOPT=`echo $SUM/$ITER/$LOOPS - $RESEMP | bc -l /dev/stdin` |
455a237d |
116 | echo -n "[$RESOPT, " |
f175e050 |
117 | |
64242d95 |
118 | SUM="0" |
869b7fc3 |
119 | for a in $RESOPTFL; do SUM=`echo "$SUM + $a" | bc -l /dev/stdin`; done |
64242d95 |
120 | RESOPTFL=`echo $SUM/$ITER/$LOOPS - $RESEMPFL | bc -l /dev/stdin` |
455a237d |
121 | echo "$RESOPTFL]" |
64242d95 |
122 | |
123 | |
455a237d |
124 | echo -n "Added cycles for NOP replacement of function call (1 pointer read, 5 local vars) [cached, uncached] " |
f175e050 |
125 | SUM="0" |
869b7fc3 |
126 | for a in $RESNOP; do SUM=`echo "$SUM + $a" | bc -l /dev/stdin`; done |
db68aac5 |
127 | RESNOP=`echo $SUM/$ITER/$LOOPS - $RESEMP | bc -l /dev/stdin` |
455a237d |
128 | echo -n "[$RESNOP, " |
f175e050 |
129 | |
64242d95 |
130 | SUM="0" |
869b7fc3 |
131 | for a in $RESNOPFL; do SUM=`echo "$SUM + $a" | bc -l /dev/stdin`; done |
64242d95 |
132 | RESNOPFL=`echo $SUM/$ITER/$LOOPS - $RESEMPFL | bc -l /dev/stdin` |
455a237d |
133 | echo "$RESNOPFL]" |
64242d95 |
134 | |
135 | |
455a237d |
136 | echo -n "Added cycles for NOP replacement of function call (6 local vars) [cached, uncached] " |
72777946 |
137 | SUM="0" |
869b7fc3 |
138 | for a in $RESNOPLOCAL; do SUM=`echo "$SUM + $a" | bc -l /dev/stdin`; done |
72777946 |
139 | RESNOPLOCAL=`echo $SUM/$ITER/$LOOPS - $RESEMP | bc -l /dev/stdin` |
455a237d |
140 | echo -n "[$RESNOPLOCAL, " |
72777946 |
141 | |
72777946 |
142 | SUM="0" |
869b7fc3 |
143 | for a in $RESNOPLOCALFL; do SUM=`echo "$SUM + $a" | bc -l /dev/stdin`; done |
72777946 |
144 | RESNOPLOCALFL=`echo $SUM/$ITER/$LOOPS - $RESEMPFL | bc -l /dev/stdin` |
455a237d |
145 | echo "$RESNOPLOCALFL]" |
146 | |