update
authorcompudj <compudj@04897980-b3bd-0310-b5e0-8ef037075253>
Mon, 7 Apr 2008 17:19:17 +0000 (17:19 +0000)
committercompudj <compudj@04897980-b3bd-0310-b5e0-8ef037075253>
Mon, 7 Apr 2008 17:19:17 +0000 (17:19 +0000)
git-svn-id: http://ltt.polymtl.ca/svn@2847 04897980-b3bd-0310-b5e0-8ef037075253

markers-test/runtest.sh
markers-test/test-mark-speed-edit.c
markers-test/test-mark-speed-empty.c
markers-test/test-mark-speed-opt.c
markers-test/test-mark-speed.c

index 152f41e114b03966d557dbafa218f69556d357f6..6381cc1425d2d7619e11f54a505ea0cbc3d2e08d 100644 (file)
@@ -1,5 +1,8 @@
 #!/bin/sh
 
+make clean
+make #build no flush modules
+
 ITER=10
 LOOPS=2000
 
@@ -26,33 +29,88 @@ 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/'`
 
-echo "Results in cycles per loop"
 
-echo "Cycles for wbinvd() loop (will be substracted from following results)"
+make clean
+make EXTRA_CFLAGS=-DCACHEFLUSH
+
+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/'`
+
+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/'`
+
+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/'`
+
+insmod test-mark-speed-edit.ko
+#Patch with nops
+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/'`
+
+
+
+
+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
 RESEMP=`echo $SUM/$ITER/$LOOPS | bc -l /dev/stdin`
-
 echo $RESEMP
 
-echo "Added cycles for normal marker"
+echo "Cycles for wbinvd() loop (will be substracted non-cached runs)"
+SUM="0"
+for a in $RESEMPFL; do SUM=$[$SUM + $a]; done
+RESEMPFL=`echo $SUM/$ITER/$LOOPS | bc -l /dev/stdin`
+echo $RESEMPFL
 
+
+echo "Added cycles for normal marker (cached)"
 SUM="0"
 for a in $RESSTD; do SUM=$[$SUM + $a]; done
 RESSTD=`echo $SUM/$ITER/$LOOPS - $RESEMP | bc -l /dev/stdin`
-
 echo $RESSTD
 
-echo "Added cycles for optimized marker"
+echo "Added cycles for normal marker (uncached)"
+SUM="0"
+for a in $RESSTDFL; do SUM=$[$SUM + $a]; done
+RESSTDFL=`echo $SUM/$ITER/$LOOPS - $RESEMPFL | bc -l /dev/stdin`
+echo $RESSTDFL
+
+
+
+echo "Added cycles for optimized marker (cached)"
 SUM="0"
 for a in $RESOPT; do SUM=$[$SUM + $a]; done
 RESOPT=`echo $SUM/$ITER/$LOOPS - $RESEMP | bc -l /dev/stdin`
 echo $RESOPT
 
-echo "Added cycles for NOP replacement of function call"
+echo "Added cycles for optimized marker (uncached)"
+SUM="0"
+for a in $RESOPTFL; do SUM=$[$SUM + $a]; done
+RESOPTFL=`echo $SUM/$ITER/$LOOPS - $RESEMPFL | bc -l /dev/stdin`
+echo $RESOPTFL
+
+
+echo "Added cycles for NOP replacement of function call (cached)"
 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)"
+SUM="0"
+for a in $RESNOPFL; do SUM=$[$SUM + $a]; done
+RESNOPFL=`echo $SUM/$ITER/$LOOPS - $RESEMPFL | bc -l /dev/stdin`
+echo $RESNOPFL
+
+
index adc7f2de5ee33eaa5bf8edadbf71ea7301b2c13c..fc3deab24da99000390223c9f6048d3f8279a201 100644 (file)
@@ -64,7 +64,9 @@ struct proc_dir_entry *pentry = NULL;
 
 static inline void test(unsigned long arg, unsigned long arg2)
 {
+#ifdef CACHEFLUSH
        wbinvd();
+#endif
        //asm volatile ("");
        //__my_trace_mark(1, kernel_debug_test, NULL, "%d %d %ld %ld", 2, current->pid, arg, arg2);
        test2(NULL, NULL, 2, current->pid, arg, arg2);
@@ -114,4 +116,5 @@ void cleanup_module(void)
 MODULE_LICENSE("GPL");
 MODULE_AUTHOR("Mathieu Desnoyers");
 MODULE_DESCRIPTION("Marker Test");
+MODULE_VERSION("1.0");
 
index 20695ca808024135a492d9cffa56823a89d8000b..0878610f709b92282621cfafd2f8c2a05e6a9461 100644 (file)
@@ -54,7 +54,9 @@ struct proc_dir_entry *pentry = NULL;
 
 static inline void test(unsigned long arg, unsigned long arg2)
 {
+#ifdef CACHEFLUSH
        wbinvd();
+#endif
        asm volatile ("");
        //__my_trace_mark(1, kernel_debug_test, NULL, "%d %d %ld %ld", 2, current->pid, arg, arg2);
        //__my_trace_mark(0, kernel_debug_test, NULL, "%d %d %ld %ld", 2, current->pid, arg, arg2);
@@ -103,4 +105,5 @@ void cleanup_module(void)
 MODULE_LICENSE("GPL");
 MODULE_AUTHOR("Mathieu Desnoyers");
 MODULE_DESCRIPTION("Marker Test");
+MODULE_VERSION("1.0");
 
index e0a26425bbfb4795fec0c1e2c37ff1789afc7708..19a0b426c4654d549da7c08b2d564c824dac6f6b 100644 (file)
@@ -54,7 +54,9 @@ struct proc_dir_entry *pentry = NULL;
 
 static inline void test(unsigned long arg, unsigned long arg2)
 {
+#ifdef CACHEFLUSH
        wbinvd();
+#endif
        //asm volatile ("");
        //__my_trace_mark(1, kernel_debug_test, NULL, "%d %d %ld %ld", 2, current->pid, arg, arg2);
        __my_trace_mark(0, kernel_debug_test, NULL, "%d %d %ld %ld", 2, current->pid, arg, arg2);
@@ -103,4 +105,5 @@ void cleanup_module(void)
 MODULE_LICENSE("GPL");
 MODULE_AUTHOR("Mathieu Desnoyers");
 MODULE_DESCRIPTION("Marker Test");
+MODULE_VERSION("1.0");
 
index 091d1f74803c68a4f3f6301de0f7a4608598b218..b3294e58a781de8cf85e9bf49598856dc72cf400 100644 (file)
@@ -54,7 +54,9 @@ struct proc_dir_entry *pentry = NULL;
 
 static inline void test(unsigned long arg, unsigned long arg2)
 {
+#ifdef CACHEFLUSH
        wbinvd();
+#endif
        //asm volatile ("");
        __my_trace_mark(1, kernel_debug_test, NULL, "%d %d %ld %ld", 2, current->pid, arg, arg2);
        //__my_trace_mark(0, kernel_debug_test, NULL, "%d %d %ld %ld", 2, current->pid, arg, arg2);
@@ -103,4 +105,4 @@ void cleanup_module(void)
 MODULE_LICENSE("GPL");
 MODULE_AUTHOR("Mathieu Desnoyers");
 MODULE_DESCRIPTION("Marker Test");
-
+MODULE_VERSION("1.0");
This page took 0.027396 seconds and 4 git commands to generate.