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 |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 |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 |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 |tail -n 10 |sed 's/^\[.*\] //'| sed 's/cycles : \(.*\)$/\1/'`
34 make EXTRA_CFLAGS
=-DCACHEFLUSH
36 insmod test-mark-speed-empty.ko
37 for a
in `seq 1 $ITER`; do cat /proc
/testmark
;done
38 rmmod test-mark-speed-empty
39 RESEMPFL
=`dmesg |tail -n 10 |sed 's/^\[.*\] //'| sed 's/cycles : \(.*\)$/\1/'`
41 insmod test-mark-speed.ko
42 for a
in `seq 1 $ITER`; do cat /proc
/testmark
;done
44 RESSTDFL
=`dmesg |tail -n 10 |sed 's/^\[.*\] //'| sed 's/cycles : \(.*\)$/\1/'`
46 insmod test-mark-speed-opt.ko
47 for a
in `seq 1 $ITER`; do cat /proc
/testmark
;done
48 rmmod test-mark-speed-opt
49 RESOPTFL
=`dmesg |tail -n 10 |sed 's/^\[.*\] //'| sed 's/cycles : \(.*\)$/\1/'`
51 insmod test-mark-speed-edit.ko
55 for a
in `seq 1 $ITER`; do cat /proc
/testmark
;done
56 rmmod test-mark-speed-edit
57 RESNOPFL
=`dmesg |tail -n 10 |sed 's/^\[.*\] //'| sed 's/cycles : \(.*\)$/\1/'`
62 echo "Results in cycles per loop"
64 echo "Cycles for empty loop (will be substracted for cached runs)"
66 for a
in $RESEMP; do SUM
=$
[$SUM + $a]; done
67 RESEMP
=`echo $SUM/$ITER/$LOOPS | bc -l /dev/stdin`
70 echo "Cycles for wbinvd() loop (will be substracted non-cached runs)"
72 for a
in $RESEMPFL; do SUM
=$
[$SUM + $a]; done
73 RESEMPFL
=`echo $SUM/$ITER/$LOOPS | bc -l /dev/stdin`
77 echo "Added cycles for normal marker (cached)"
79 for a
in $RESSTD; do SUM
=$
[$SUM + $a]; done
80 RESSTD
=`echo $SUM/$ITER/$LOOPS - $RESEMP | bc -l /dev/stdin`
83 echo "Added cycles for normal marker (uncached)"
85 for a
in $RESSTDFL; do SUM
=$
[$SUM + $a]; done
86 RESSTDFL
=`echo $SUM/$ITER/$LOOPS - $RESEMPFL | bc -l /dev/stdin`
91 echo "Added cycles for optimized marker (cached)"
93 for a
in $RESOPT; do SUM
=$
[$SUM + $a]; done
94 RESOPT
=`echo $SUM/$ITER/$LOOPS - $RESEMP | bc -l /dev/stdin`
97 echo "Added cycles for optimized marker (uncached)"
99 for a
in $RESOPTFL; do SUM
=$
[$SUM + $a]; done
100 RESOPTFL
=`echo $SUM/$ITER/$LOOPS - $RESEMPFL | bc -l /dev/stdin`
104 echo "Added cycles for NOP replacement of function call (cached)"
106 for a
in $RESNOP; do SUM
=$
[$SUM + $a]; done
107 RESNOP
=`echo $SUM/$ITER/$LOOPS - $RESEMP | bc -l /dev/stdin`
110 echo "Added cycles for NOP replacement of function call (uncached)"
112 for a
in $RESNOPFL; do SUM
=$
[$SUM + $a]; done
113 RESNOPFL
=`echo $SUM/$ITER/$LOOPS - $RESEMPFL | bc -l /dev/stdin`