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 |
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 | |
455a237d |
93 | echo -n "Added cycles for normal marker [cached, uncached] " |
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` |
455a237d |
97 | echo -n "[$RESSTD, " |
f175e050 |
98 | |
64242d95 |
99 | SUM="0" |
100 | for a in $RESSTDFL; do SUM=$[$SUM + $a]; done |
101 | RESSTDFL=`echo $SUM/$ITER/$LOOPS - $RESEMPFL | bc -l /dev/stdin` |
455a237d |
102 | echo "$RESSTDFL]" |
64242d95 |
103 | |
104 | |
105 | |
455a237d |
106 | echo -n "Added cycles for optimized marker [cached, uncached] " |
f175e050 |
107 | SUM="0" |
108 | for a in $RESOPT; do SUM=$[$SUM + $a]; done |
db68aac5 |
109 | RESOPT=`echo $SUM/$ITER/$LOOPS - $RESEMP | bc -l /dev/stdin` |
455a237d |
110 | echo -n "[$RESOPT, " |
f175e050 |
111 | |
64242d95 |
112 | SUM="0" |
113 | for a in $RESOPTFL; do SUM=$[$SUM + $a]; done |
114 | RESOPTFL=`echo $SUM/$ITER/$LOOPS - $RESEMPFL | bc -l /dev/stdin` |
455a237d |
115 | echo "$RESOPTFL]" |
64242d95 |
116 | |
117 | |
455a237d |
118 | echo -n "Added cycles for NOP replacement of function call (1 pointer read, 5 local vars) [cached, uncached] " |
f175e050 |
119 | SUM="0" |
120 | for a in $RESNOP; do SUM=$[$SUM + $a]; done |
db68aac5 |
121 | RESNOP=`echo $SUM/$ITER/$LOOPS - $RESEMP | bc -l /dev/stdin` |
455a237d |
122 | echo -n "[$RESNOP, " |
f175e050 |
123 | |
64242d95 |
124 | SUM="0" |
125 | for a in $RESNOPFL; do SUM=$[$SUM + $a]; done |
126 | RESNOPFL=`echo $SUM/$ITER/$LOOPS - $RESEMPFL | bc -l /dev/stdin` |
455a237d |
127 | echo "$RESNOPFL]" |
64242d95 |
128 | |
129 | |
455a237d |
130 | echo -n "Added cycles for NOP replacement of function call (6 local vars) [cached, uncached] " |
72777946 |
131 | SUM="0" |
132 | for a in $RESNOPLOCAL; do SUM=$[$SUM + $a]; done |
133 | RESNOPLOCAL=`echo $SUM/$ITER/$LOOPS - $RESEMP | bc -l /dev/stdin` |
455a237d |
134 | echo -n "[$RESNOPLOCAL, " |
72777946 |
135 | |
72777946 |
136 | SUM="0" |
137 | for a in $RESNOPLOCALFL; do SUM=$[$SUM + $a]; done |
138 | RESNOPLOCALFL=`echo $SUM/$ITER/$LOOPS - $RESEMPFL | bc -l /dev/stdin` |
455a237d |
139 | echo "$RESNOPLOCALFL]" |
140 | |