insmod test-mark-speed-empty.ko
for a in `seq 1 $ITER`; do cat /proc/testmark;done
rmmod test-mark-speed-empty
-RESEMP=`dmesg |tail -n 10 |sed 's/^\[.*\] //'| sed 's/cycles : \(.*\)$/\1/'`
+RESEMP=`dmesg |grep "cycles : " |tail -n 10 |sed 's/^\[.*\] //'| sed 's/cycles : \(.*\)$/\1/'`
insmod test-mark-speed.ko
for a in `seq 1 $ITER`; do cat /proc/testmark;done
rmmod test-mark-speed
-RESSTD=`dmesg |tail -n 10 |sed 's/^\[.*\] //'| sed 's/cycles : \(.*\)$/\1/'`
+RESSTD=`dmesg |grep "cycles : " |tail -n 10 |sed 's/^\[.*\] //'| sed 's/cycles : \(.*\)$/\1/'`
insmod test-mark-speed-opt.ko
for a in `seq 1 $ITER`; do cat /proc/testmark;done
rmmod test-mark-speed-opt
-RESOPT=`dmesg |tail -n 10 |sed 's/^\[.*\] //'| sed 's/cycles : \(.*\)$/\1/'`
+RESOPT=`dmesg |grep "cycles : " |tail -n 10 |sed 's/^\[.*\] //'| sed 's/cycles : \(.*\)$/\1/'`
insmod test-mark-speed-edit.ko
#Patch with nops
for a in `seq 1 $ITER`; do cat /proc/testmark;done
rmmod test-mark-speed-edit
-RESNOP=`dmesg |tail -n 10 |sed 's/^\[.*\] //'| sed 's/cycles : \(.*\)$/\1/'`
+RESNOP=`dmesg |grep "cycles : " |tail -n 10 |sed 's/^\[.*\] //'| sed 's/cycles : \(.*\)$/\1/'`
+
+insmod test-mark-speed-local.ko
+#Patch with nops
+cat /proc/testmark
+
+for a in `seq 1 $ITER`; do cat /proc/testmark;done
+rmmod test-mark-speed-local
+RESNOPLOCAL=`dmesg |grep "cycles : " |tail -n 10 |sed 's/^\[.*\] //'| sed 's/cycles : \(.*\)$/\1/'`
make clean
insmod test-mark-speed-empty.ko
for a in `seq 1 $ITER`; do cat /proc/testmark;done
rmmod test-mark-speed-empty
-RESEMPFL=`dmesg |tail -n 10 |sed 's/^\[.*\] //'| sed 's/cycles : \(.*\)$/\1/'`
+RESEMPFL=`dmesg |grep "cycles : " |tail -n 10 |sed 's/^\[.*\] //'| sed 's/cycles : \(.*\)$/\1/'`
insmod test-mark-speed.ko
for a in `seq 1 $ITER`; do cat /proc/testmark;done
rmmod test-mark-speed
-RESSTDFL=`dmesg |tail -n 10 |sed 's/^\[.*\] //'| sed 's/cycles : \(.*\)$/\1/'`
+RESSTDFL=`dmesg |grep "cycles : " |tail -n 10 |sed 's/^\[.*\] //'| sed 's/cycles : \(.*\)$/\1/'`
insmod test-mark-speed-opt.ko
for a in `seq 1 $ITER`; do cat /proc/testmark;done
rmmod test-mark-speed-opt
-RESOPTFL=`dmesg |tail -n 10 |sed 's/^\[.*\] //'| sed 's/cycles : \(.*\)$/\1/'`
+RESOPTFL=`dmesg |grep "cycles : " |tail -n 10 |sed 's/^\[.*\] //'| sed 's/cycles : \(.*\)$/\1/'`
insmod test-mark-speed-edit.ko
#Patch with nops
for a in `seq 1 $ITER`; do cat /proc/testmark;done
rmmod test-mark-speed-edit
-RESNOPFL=`dmesg |tail -n 10 |sed 's/^\[.*\] //'| sed 's/cycles : \(.*\)$/\1/'`
+RESNOPFL=`dmesg |grep "cycles : " |tail -n 10 |sed 's/^\[.*\] //'| sed 's/cycles : \(.*\)$/\1/'`
+
+insmod test-mark-speed-local.ko
+#Patch with nops
+cat /proc/testmark
+
+for a in `seq 1 $ITER`; do cat /proc/testmark;done
+rmmod test-mark-speed-local
+RESNOPLOCALFL=`dmesg |grep "cycles : " |tail -n 10 |sed 's/^\[.*\] //'| sed 's/cycles : \(.*\)$/\1/'`
echo $RESOPTFL
-echo "Added cycles for NOP replacement of function call (cached)"
+echo "Added cycles for NOP replacement of function call (cached) (1 pointer read, 5 local vars)"
SUM="0"
for a in $RESNOP; do SUM=$[$SUM + $a]; done
RESNOP=`echo $SUM/$ITER/$LOOPS - $RESEMP | bc -l /dev/stdin`
echo $RESNOP
-echo "Added cycles for NOP replacement of function call (uncached)"
+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
RESNOPFL=`echo $SUM/$ITER/$LOOPS - $RESEMPFL | bc -l /dev/stdin`
echo $RESNOPFL
+echo "Added cycles for NOP replacement of function call (cached) (6 local vars)"
+SUM="0"
+for a in $RESNOPLOCAL; do SUM=$[$SUM + $a]; done
+RESNOPLOCAL=`echo $SUM/$ITER/$LOOPS - $RESEMP | bc -l /dev/stdin`
+echo $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
+RESNOPLOCALFL=`echo $SUM/$ITER/$LOOPS - $RESEMPFL | bc -l /dev/stdin`
+echo $RESNOPLOCALFL