X-Git-Url: https://git.liburcu.org/?a=blobdiff_plain;f=urcu-static.h;h=3b7ea3217bb58029e06f2e4ac67be6aad648e9c6;hb=22b63ec43c9cfeac380665f99052b5fe94082c79;hp=f2a463c47ab9dd03eff61c84d90c6c0d5edf6f3b;hpb=e3b0cef0b290dcc757347989a6288c9952efc54a;p=urcu.git diff --git a/urcu-static.h b/urcu-static.h index f2a463c..3b7ea32 100644 --- a/urcu-static.h +++ b/urcu-static.h @@ -220,10 +220,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;