X-Git-Url: http://git.liburcu.org/?p=urcu.git;a=blobdiff_plain;f=urcu-static.h;h=7d6d7ac25fbd915e8191f7ece2cad27eddbb9251;hp=f2a463c47ab9dd03eff61c84d90c6c0d5edf6f3b;hb=074d8438a30f7da8ae12eb94caff69c37fb576bd;hpb=e3b0cef0b290dcc757347989a6288c9952efc54a diff --git a/urcu-static.h b/urcu-static.h index f2a463c..7d6d7ac 100644 --- a/urcu-static.h +++ b/urcu-static.h @@ -36,6 +36,7 @@ #include #include +#include #include /* @@ -220,10 +221,12 @@ static inline void reader_barrier() 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;