X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=markers-test%2Fruntest.sh;h=2fcf4d9d4ba9b62ef7f18a73824ce4267701c1f1;hb=70078fe6a573f7616eed7139b146cb15a64c594a;hp=f8ee3b42ec2ee112d332f5ea62eb3ab3eb64f3e8;hpb=727779461101f040206ba81ec8adda5c1440a871;p=lttv.git diff --git a/markers-test/runtest.sh b/markers-test/runtest.sh index f8ee3b42..2fcf4d9d 100644 --- a/markers-test/runtest.sh +++ b/markers-test/runtest.sh @@ -4,22 +4,25 @@ make clean 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 |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 +cat /proc/testmark 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 +cat /proc/testmark 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 @@ -27,7 +30,7 @@ cat /proc/testmark 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 @@ -35,26 +38,31 @@ cat /proc/testmark for a in `seq 1 $ITER`; do cat /proc/testmark;done rmmod test-mark-speed-local -RESNOPLOCAL=`dmesg |tail -n 10 |sed 's/^\[.*\] //'| sed 's/cycles : \(.*\)$/\1/'` +RESNOPLOCAL=`dmesg |grep "cycles : " |tail -n 10 |sed 's/^\[.*\] //'| sed 's/cycles : \(.*\)$/\1/'` -make clean -make EXTRA_CFLAGS=-DCACHEFLUSH +#make clean +#make EXTRA_CFLAGS=-DCACHEFLUSH + +insmod cachectl.ko 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 |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 +cat /proc/testmark 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 +cat /proc/testmark 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 @@ -62,7 +70,7 @@ cat /proc/testmark 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 @@ -70,74 +78,72 @@ cat /proc/testmark for a in `seq 1 $ITER`; do cat /proc/testmark;done rmmod test-mark-speed-local -RESNOPLOCALFL=`dmesg |tail -n 10 |sed 's/^\[.*\] //'| sed 's/cycles : \(.*\)$/\1/'` +RESNOPLOCALFL=`dmesg |grep "cycles : " |tail -n 10 |sed 's/^\[.*\] //'| sed 's/cycles : \(.*\)$/\1/'` +rmmod cachectl 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)" 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]" +