//asm volatile ("");
struct proc_dir_entry *pentry = NULL;
-volatile int temp = 10;
-volatile int temp2 = 10;
+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 * 100 + 60;
- temp2 = temp << 10;
- asm volatile ("");
+ temp = (temp + 60) << 10;
+ barrier();
+ asm ("");
+ barrier();
//__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);
}
rdtsc_barrier();
cycles1 = get_cycles();
rdtsc_barrier();
- for(i=0; i<200; i++) {
+ for(i=0; i<2000; i++) {
test(i, i);
test(i, i);
test(i, i);