X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;ds=sidebyside;f=markers-test%2Fruntest.sh;h=ceb4afcf1e63a5d6cece296af2a4a46062b98345;hb=ec7a5af61127aa50a1839eee5be99ce53494c57b;hp=6381cc1425d2d7619e11f54a505ea0cbc3d2e08d;hpb=64242d956c62e9375e99847fc9e05f3cf609a75f;p=lttv.git diff --git a/markers-test/runtest.sh b/markers-test/runtest.sh index 6381cc14..ceb4afcf 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,26 +30,38 @@ 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 +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 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 |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 @@ -54,8 +69,15 @@ 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 +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/'` @@ -63,54 +85,62 @@ 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)" +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)" 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 -n "Added cycles for NOP replacement of function call (6 local vars) [cached, uncached] " +SUM="0" +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 -n "[$RESNOPLOCAL, " + +SUM="0" +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]"