#include <urcu/compiler.h>
#include <urcu/arch.h>
+#include <urcu/arch_uatomic.h>
#include <urcu/list.h>
/*
extern long urcu_gp_ctr;
struct urcu_reader {
+ /* Data used by both reader and synchronize_rcu() */
long ctr;
- struct list_head head;
- pthread_t tid;
char need_mb;
+ /* Data used for registry */
+ struct list_head head __attribute__((aligned(CACHE_LINE_SIZE)));
+ pthread_t tid;
};
extern struct urcu_reader __thread urcu_reader;