make #build no flush modules
ITER=10
-LOOPS=2000
+LOOPS=20000
insmod test-mark-speed-empty.ko
+cat /proc/testmark
for a in `seq 1 $ITER`; do cat /proc/testmark;done
rmmod test-mark-speed-empty
RESEMP=`dmesg |grep "cycles : " |tail -n 10 |sed 's/^\[.*\] //'| sed 's/cycles : \(.*\)$/\1/'`
insmod test-mark-speed.ko
+cat /proc/testmark
for a in `seq 1 $ITER`; do cat /proc/testmark;done
rmmod test-mark-speed
RESSTD=`dmesg |grep "cycles : " |tail -n 10 |sed 's/^\[.*\] //'| sed 's/cycles : \(.*\)$/\1/'`
insmod test-mark-speed-opt.ko
+cat /proc/testmark
for a in `seq 1 $ITER`; do cat /proc/testmark;done
rmmod test-mark-speed-opt
RESOPT=`dmesg |grep "cycles : " |tail -n 10 |sed 's/^\[.*\] //'| sed 's/cycles : \(.*\)$/\1/'`
make clean
make EXTRA_CFLAGS=-DCACHEFLUSH
+
insmod test-mark-speed-empty.ko
+cat /proc/testmark
for a in `seq 1 $ITER`; do cat /proc/testmark;done
rmmod test-mark-speed-empty
RESEMPFL=`dmesg |grep "cycles : " |tail -n 10 |sed 's/^\[.*\] //'| sed 's/cycles : \(.*\)$/\1/'`
insmod test-mark-speed.ko
+cat /proc/testmark
for a in `seq 1 $ITER`; do cat /proc/testmark;done
rmmod test-mark-speed
RESSTDFL=`dmesg |grep "cycles : " |tail -n 10 |sed 's/^\[.*\] //'| sed 's/cycles : \(.*\)$/\1/'`
insmod test-mark-speed-opt.ko
+cat /proc/testmark
for a in `seq 1 $ITER`; do cat /proc/testmark;done
rmmod test-mark-speed-opt
RESOPTFL=`dmesg |grep "cycles : " |tail -n 10 |sed 's/^\[.*\] //'| sed 's/cycles : \(.*\)$/\1/'`
-
echo "Results in cycles per loop"
echo "Cycles for empty loop (will be substracted for cached runs)"
SUM="0"
-for a in $RESEMP; do SUM=$[$SUM + $a]; done
+for a in $RESEMP; do SUM=`echo "$SUM + $a" | bc -l /dev/stdin`; done
RESEMP=`echo $SUM/$ITER/$LOOPS | bc -l /dev/stdin`
echo $RESEMP
-echo "Cycles for wbinvd() loop (will be substracted non-cached runs)"
+echo "Cycles for clflush() loop (will be substracted non-cached runs)"
SUM="0"
-for a in $RESEMPFL; do SUM=$[$SUM + $a]; done
+for a in $RESEMPFL; do SUM=`echo "$SUM + $a" | bc -l /dev/stdin`; done
RESEMPFL=`echo $SUM/$ITER/$LOOPS | bc -l /dev/stdin`
echo $RESEMPFL
-echo "Added cycles for normal marker (cached)"
+echo -n "Added cycles for normal marker [cached, uncached] "
SUM="0"
-for a in $RESSTD; do SUM=$[$SUM + $a]; done
+for a in $RESSTD; do SUM=`echo "$SUM + $a" | bc -l /dev/stdin`; done
RESSTD=`echo $SUM/$ITER/$LOOPS - $RESEMP | bc -l /dev/stdin`
-echo $RESSTD
+echo -n "[$RESSTD, "
-echo "Added cycles for normal marker (uncached)"
SUM="0"
-for a in $RESSTDFL; do SUM=$[$SUM + $a]; done
+for a in $RESSTDFL; do SUM=`echo "$SUM + $a" | bc -l /dev/stdin`; done
RESSTDFL=`echo $SUM/$ITER/$LOOPS - $RESEMPFL | bc -l /dev/stdin`
-echo $RESSTDFL
+echo "$RESSTDFL]"
-echo "Added cycles for optimized marker (cached)"
+echo -n "Added cycles for optimized marker [cached, uncached] "
SUM="0"
-for a in $RESOPT; do SUM=$[$SUM + $a]; done
+for a in $RESOPT; do SUM=`echo "$SUM + $a" | bc -l /dev/stdin`; done
RESOPT=`echo $SUM/$ITER/$LOOPS - $RESEMP | bc -l /dev/stdin`
-echo $RESOPT
+echo -n "[$RESOPT, "
-echo "Added cycles for optimized marker (uncached)"
SUM="0"
-for a in $RESOPTFL; do SUM=$[$SUM + $a]; done
+for a in $RESOPTFL; do SUM=`echo "$SUM + $a" | bc -l /dev/stdin`; done
RESOPTFL=`echo $SUM/$ITER/$LOOPS - $RESEMPFL | bc -l /dev/stdin`
-echo $RESOPTFL
+echo "$RESOPTFL]"
-echo "Added cycles for NOP replacement of function call (cached) (1 pointer read, 5 local vars)"
+echo -n "Added cycles for NOP replacement of function call (1 pointer read, 5 local vars) [cached, uncached] "
SUM="0"
-for a in $RESNOP; do SUM=$[$SUM + $a]; done
+for a in $RESNOP; do SUM=`echo "$SUM + $a" | bc -l /dev/stdin`; done
RESNOP=`echo $SUM/$ITER/$LOOPS - $RESEMP | bc -l /dev/stdin`
-echo $RESNOP
+echo -n "[$RESNOP, "
-echo "Added cycles for NOP replacement of function call (uncached) (1 pointer read, 5 local vars)"
SUM="0"
-for a in $RESNOPFL; do SUM=$[$SUM + $a]; done
+for a in $RESNOPFL; do SUM=`echo "$SUM + $a" | bc -l /dev/stdin`; done
RESNOPFL=`echo $SUM/$ITER/$LOOPS - $RESEMPFL | bc -l /dev/stdin`
-echo $RESNOPFL
+echo "$RESNOPFL]"
-echo "Added cycles for NOP replacement of function call (cached) (6 local vars)"
+echo -n "Added cycles for NOP replacement of function call (6 local vars) [cached, uncached] "
SUM="0"
-for a in $RESNOPLOCAL; do SUM=$[$SUM + $a]; done
+for a in $RESNOPLOCAL; do SUM=`echo "$SUM + $a" | bc -l /dev/stdin`; done
RESNOPLOCAL=`echo $SUM/$ITER/$LOOPS - $RESEMP | bc -l /dev/stdin`
-echo $RESNOPLOCAL
+echo -n "[$RESNOPLOCAL, "
-echo "Added cycles for NOP replacement of function call (uncached) (6 local vars)"
SUM="0"
-for a in $RESNOPLOCALFL; do SUM=$[$SUM + $a]; done
+for a in $RESNOPLOCALFL; do SUM=`echo "$SUM + $a" | bc -l /dev/stdin`; done
RESNOPLOCALFL=`echo $SUM/$ITER/$LOOPS - $RESEMPFL | bc -l /dev/stdin`
-echo $RESNOPLOCALFL
+echo "$RESNOPLOCALFL]"
+