X-Git-Url: https://git.liburcu.org/?a=blobdiff_plain;f=test_urcu_timing.c;h=ac23846d784f783c1c34d86beab2323bc8381995;hb=0a52082baa5dd26455966c42a96f3185767590b7;hp=57fda4fd4b9719b576aa152c4c62f0199ace4a04;hpb=c265818b951224bcde407b1efa14f9daf44949b3;p=urcu.git diff --git a/test_urcu_timing.c b/test_urcu_timing.c index 57fda4f..ac23846 100644 --- a/test_urcu_timing.c +++ b/test_urcu_timing.c @@ -34,22 +34,6 @@ static inline pid_t gettid(void) } #endif -#define rdtscll(val) do { \ - unsigned int __a,__d; \ - asm volatile("rdtsc" : "=a" (__a), "=d" (__d)); \ - (val) = ((unsigned long)__a) | (((unsigned long)__d)<<32); \ -} while(0) - -typedef unsigned long long cycles_t; - -static inline cycles_t get_cycles (void) -{ - unsigned long long ret = 0; - - rdtscll(ret); - return ret; -} - #include "urcu.h" pthread_mutex_t rcu_copy_mutex = PTHREAD_MUTEX_INITIALIZER; @@ -94,7 +78,7 @@ static cycles_t reader_time[NR_READ] __attribute__((aligned(128))); void *thr_reader(void *arg) { - int qparity, i, j; + int i, j; struct test_array *local_ptr; cycles_t time1, time2; @@ -107,12 +91,12 @@ void *thr_reader(void *arg) time1 = get_cycles(); for (i = 0; i < OUTER_READ_LOOP; i++) { for (j = 0; j < INNER_READ_LOOP; j++) { - rcu_read_lock(&qparity); + rcu_read_lock(); local_ptr = rcu_dereference(test_rcu_pointer); if (local_ptr) { assert(local_ptr->a == 8); } - rcu_read_unlock(&qparity); + rcu_read_unlock(); } } time2 = get_cycles(); @@ -145,7 +129,7 @@ void *thr_writer(void *arg) assert(old->a == 8); } new->a = 8; - old = urcu_publish_content((void **)&test_rcu_pointer, new); + old = urcu_publish_content(&test_rcu_pointer, new); rcu_copy_mutex_unlock(); /* can be done after unlock */ if (old) {