Fixed experiment timing on SPARC
authorAndrew Waterman <waterman@s143.Millennium.Berkeley.EDU>
Mon, 3 May 2010 07:25:40 +0000 (00:25 -0700)
committerKevin Klues <klueska@cs.berkeley.edu>
Thu, 3 Nov 2011 00:35:47 +0000 (17:35 -0700)
Since target time progresses much more slowly than wall time, I divide
the argument to any udelay call in the microbenchmarks by a constant.
I don't do this in a header file because really we don't want to change
the semantics of udelay, just how long we delay for in these benchmarks.

tests/mhello.c
tests/mproctests.c
tests/msr_cycling_vcores.c
tests/msr_get_cores.c
tests/msr_get_singlecore.c

index 55edd22..0359cae 100644 (file)
 #include <timing.h>
 #include <rassert.h>
 
+#ifdef __sparc_v8__
+# define udelay(x) udelay((x)/500)
+#endif
+
 mcs_barrier_t b;
 
 __thread int temp;
index 211151d..44fa6ce 100644 (file)
@@ -8,6 +8,10 @@
 #include <rstdio.h>
 #include <timing.h>
 
+#ifdef __sparc_v8__
+# define udelay(x) udelay((x)/500)
+#endif
+
 #define TEST_MMAP                                       1
 #define TEST_ONE_CORE                           2
 #define TEST_ASK_FOR_TOO_MANY_CORES     3
index 7debb6e..8bf9d65 100644 (file)
 #include <timing.h>
 #include <mcs.h>
 
+#ifdef __sparc_v8__
+# define udelay(x) udelay((x)/500)
+#endif
+
 mcs_barrier_t b;
 uint64_t begin = 0, end = 0;
 
index eeafb0e..9934891 100644 (file)
 #include <timing.h>
 #include <rassert.h>
 
+#ifdef __sparc_v8__
+# define udelay(x) udelay((x)/500)
+#endif
+
 mcs_barrier_t b;
 
 void *core0_tls = 0;
index 2260047..1fe686e 100644 (file)
 #include <timing.h>
 #include <rassert.h>
 
+#ifdef __sparc_v8__
+# define udelay(x) udelay((x)/500)
+#endif
+
 mcs_barrier_t b;
 
 void *core0_tls = 0;