} \
} while (0)
- //asm volatile ("");
struct proc_dir_entry *pentry = NULL;
+int temp __cacheline_aligned = 10;
+int temp2 __cacheline_aligned = 10;
+
static inline void test(unsigned long arg, unsigned long arg2)
{
#ifdef CACHEFLUSH
wbinvd();
#endif
+ temp = (temp + 60) << 10;
//asm volatile ("");
//__my_trace_mark(1, kernel_debug_test, NULL, "%d %d %ld %ld", 2, current->pid, arg, arg2);
+ barrier();
test2(NULL, NULL, 2, 10, arg, arg2);
+ barrier(); // make sure the compiler does not optimize marker conditions away!
//__my_trace_mark(0, kernel_debug_test, NULL, "%d %d %ld %ld", 2, current->pid, arg, arg2);
}
rdtsc_barrier();
for(i=0; i<2000; i++) {
test(i, i);
+ test(i, i);
+ test(i, i);
+ test(i, i);
+ test(i, i);
+ test(i, i);
+ test(i, i);
+ test(i, i);
+ test(i, i);
+ test(i, i);
}
rdtsc_barrier();
cycles2 = get_cycles();