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