4 make #build no flush modules
9 insmod test-mark-speed-empty.ko
10 for a
in `seq 1 $ITER`; do cat /proc
/testmark
;done
11 rmmod test-mark-speed-empty
12 RESEMP
=`dmesg |grep "cycles : " |tail -n 10 |sed 's/^\[.*\] //'| sed 's/cycles : \(.*\)$/\1/'`
14 insmod test-mark-speed.ko
15 for a
in `seq 1 $ITER`; do cat /proc
/testmark
;done
17 RESSTD
=`dmesg |grep "cycles : " |tail -n 10 |sed 's/^\[.*\] //'| sed 's/cycles : \(.*\)$/\1/'`
19 insmod test-mark-speed-opt.ko
20 for a
in `seq 1 $ITER`; do cat /proc
/testmark
;done
21 rmmod test-mark-speed-opt
22 RESOPT
=`dmesg |grep "cycles : " |tail -n 10 |sed 's/^\[.*\] //'| sed 's/cycles : \(.*\)$/\1/'`
24 insmod test-mark-speed-edit.ko
28 for a
in `seq 1 $ITER`; do cat /proc
/testmark
;done
29 rmmod test-mark-speed-edit
30 RESNOP
=`dmesg |grep "cycles : " |tail -n 10 |sed 's/^\[.*\] //'| sed 's/cycles : \(.*\)$/\1/'`
32 insmod test-mark-speed-local.ko
36 for a
in `seq 1 $ITER`; do cat /proc
/testmark
;done
37 rmmod test-mark-speed-local
38 RESNOPLOCAL
=`dmesg |grep "cycles : " |tail -n 10 |sed 's/^\[.*\] //'| sed 's/cycles : \(.*\)$/\1/'`
42 make EXTRA_CFLAGS
=-DCACHEFLUSH
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
47 RESEMPFL
=`dmesg |grep "cycles : " |tail -n 10 |sed 's/^\[.*\] //'| sed 's/cycles : \(.*\)$/\1/'`
49 insmod test-mark-speed.ko
50 for a
in `seq 1 $ITER`; do cat /proc
/testmark
;done
52 RESSTDFL
=`dmesg |grep "cycles : " |tail -n 10 |sed 's/^\[.*\] //'| sed 's/cycles : \(.*\)$/\1/'`
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
57 RESOPTFL
=`dmesg |grep "cycles : " |tail -n 10 |sed 's/^\[.*\] //'| sed 's/cycles : \(.*\)$/\1/'`
59 insmod test-mark-speed-edit.ko
63 for a
in `seq 1 $ITER`; do cat /proc
/testmark
;done
64 rmmod test-mark-speed-edit
65 RESNOPFL
=`dmesg |grep "cycles : " |tail -n 10 |sed 's/^\[.*\] //'| sed 's/cycles : \(.*\)$/\1/'`
67 insmod test-mark-speed-local.ko
71 for a
in `seq 1 $ITER`; do cat /proc
/testmark
;done
72 rmmod test-mark-speed-local
73 RESNOPLOCALFL
=`dmesg |grep "cycles : " |tail -n 10 |sed 's/^\[.*\] //'| sed 's/cycles : \(.*\)$/\1/'`
78 echo "Results in cycles per loop"
80 echo "Cycles for empty loop (will be substracted for cached runs)"
82 for a
in $RESEMP; do SUM
=$
[$SUM + $a]; done
83 RESEMP
=`echo $SUM/$ITER/$LOOPS | bc -l /dev/stdin`
86 echo "Cycles for wbinvd() loop (will be substracted non-cached runs)"
88 for a
in $RESEMPFL; do SUM
=$
[$SUM + $a]; done
89 RESEMPFL
=`echo $SUM/$ITER/$LOOPS | bc -l /dev/stdin`
93 echo -n "Added cycles for normal marker [cached, uncached] "
95 for a
in $RESSTD; do SUM
=$
[$SUM + $a]; done
96 RESSTD
=`echo $SUM/$ITER/$LOOPS - $RESEMP | bc -l /dev/stdin`
100 for a
in $RESSTDFL; do SUM
=$
[$SUM + $a]; done
101 RESSTDFL
=`echo $SUM/$ITER/$LOOPS - $RESEMPFL | bc -l /dev/stdin`
106 echo -n "Added cycles for optimized marker [cached, uncached] "
108 for a
in $RESOPT; do SUM
=$
[$SUM + $a]; done
109 RESOPT
=`echo $SUM/$ITER/$LOOPS - $RESEMP | bc -l /dev/stdin`
113 for a
in $RESOPTFL; do SUM
=$
[$SUM + $a]; done
114 RESOPTFL
=`echo $SUM/$ITER/$LOOPS - $RESEMPFL | bc -l /dev/stdin`
118 echo -n "Added cycles for NOP replacement of function call (1 pointer read, 5 local vars) [cached, uncached] "
120 for a
in $RESNOP; do SUM
=$
[$SUM + $a]; done
121 RESNOP
=`echo $SUM/$ITER/$LOOPS - $RESEMP | bc -l /dev/stdin`
125 for a
in $RESNOPFL; do SUM
=$
[$SUM + $a]; done
126 RESNOPFL
=`echo $SUM/$ITER/$LOOPS - $RESEMPFL | bc -l /dev/stdin`
130 echo -n "Added cycles for NOP replacement of function call (6 local vars) [cached, uncached] "
132 for a
in $RESNOPLOCAL; do SUM
=$
[$SUM + $a]; done
133 RESNOPLOCAL
=`echo $SUM/$ITER/$LOOPS - $RESEMP | bc -l /dev/stdin`
134 echo -n "[$RESNOPLOCAL, "
137 for a
in $RESNOPLOCALFL; do SUM
=$
[$SUM + $a]; done
138 RESNOPLOCALFL
=`echo $SUM/$ITER/$LOOPS - $RESEMPFL | bc -l /dev/stdin`
139 echo "$RESNOPLOCALFL]"