X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=test_urcu_timing.c;h=a11532a90c7fce740b2857b306412067d568cd29;hb=121a5d44c8cc7197116df73854cb94c6cfbad0b0;hp=f97a5c1e3c9a15d3055c596a72a3d4d9e61d3fbc;hpb=f4a486ac095bd844d0c18995737d589b8f085b69;p=urcu.git diff --git a/test_urcu_timing.c b/test_urcu_timing.c index f97a5c1..a11532a 100644 --- a/test_urcu_timing.c +++ b/test_urcu_timing.c @@ -18,6 +18,7 @@ #include #include #include +#include #if defined(_syscall0) _syscall0(pid_t, gettid) @@ -34,22 +35,7 @@ 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; -} - +#define _LGPL_SOURCE #include "urcu.h" pthread_mutex_t rcu_copy_mutex = PTHREAD_MUTEX_INITIALIZER; @@ -102,7 +88,7 @@ void *thr_reader(void *arg) "reader", pthread_self(), (unsigned long)gettid()); sleep(2); - urcu_register_thread(); + rcu_register_thread(); time1 = get_cycles(); for (i = 0; i < OUTER_READ_LOOP; i++) { @@ -117,7 +103,7 @@ void *thr_reader(void *arg) } time2 = get_cycles(); - urcu_unregister_thread(); + rcu_unregister_thread(); reader_time[(unsigned long)arg] = time2 - time1; @@ -145,7 +131,7 @@ void *thr_writer(void *arg) assert(old->a == 8); } new->a = 8; - old = urcu_publish_content(&test_rcu_pointer, new); + old = rcu_publish_content(&test_rcu_pointer, new); rcu_copy_mutex_unlock(); /* can be done after unlock */ if (old) {