static inline void loop_sleep(unsigned long l)
{
while(l-- != 0)
- cpu_relax();
+ caa_cpu_relax();
}
static int verbose_mode;
static unsigned long long __thread nr_reads;
static
-unsigned long long __attribute__((aligned(CACHE_LINE_SIZE))) *tot_nr_writes;
+unsigned long long __attribute__((aligned(CAA_CACHE_LINE_SIZE))) *tot_nr_writes;
static unsigned int nr_readers;
static unsigned int nr_writers;
while (!test_go)
{
}
- smp_mb();
+ cmm_smp_mb();
for (;;) {
rcu_read_lock();
{
unsigned long wtidx = (unsigned long)data;
struct test_array *new, *old = NULL;
+ int ret;
printf_verbose("thread_begin %s, thread id : %lx, tid %lu\n",
"writer", pthread_self(), (unsigned long)gettid());
set_affinity();
- rcu_defer_register_thread();
+ ret = rcu_defer_register_thread();
+ if (ret) {
+ printf("Error in rcu_defer_register_thread\n");
+ exit(-1);
+ }
while (!test_go)
{
}
- smp_mb();
+ cmm_smp_mb();
for (;;) {
new = malloc(sizeof(*new));
exit(1);
}
- smp_mb();
+ cmm_smp_mb();
test_go = 1;