boost ring queue: dedicate cache line for atomic variable

Bad for data cache ! But it might be better for atomic operation.
This commit is contained in:
Gregory Hainaut 2017-01-05 09:03:58 +01:00
parent 8779583bdb
commit e4f4350bb4
1 changed files with 1 additions and 0 deletions

View File

@ -57,6 +57,7 @@ class ringbuffer_base
atomic<size_t> write_index_; atomic<size_t> write_index_;
char padding1[padding_size]; /* force read_index and write_index to different cache lines */ char padding1[padding_size]; /* force read_index and write_index to different cache lines */
atomic<size_t> read_index_; atomic<size_t> read_index_;
char padding2[padding_size]; /* force read_index and pending_pop_read_index to different cache lines */
size_t pending_pop_read_index; size_t pending_pop_read_index;