X-Git-Url: http://plrg.eecs.uci.edu/git/?p=folly.git;a=blobdiff_plain;f=folly%2FProducerConsumerQueue.h;fp=folly%2FProducerConsumerQueue.h;h=9ebe65acb46c66dbef1f9ab33e77e07fd968bdeb;hp=053c0e264b649075b2d148af5dc199b83ad95b22;hb=a9d90ea14f527b0b719a90f014c8c20e13d54866;hpb=4e9783b98883ed7b5fbef915556c0736ffdfe545 diff --git a/folly/ProducerConsumerQueue.h b/folly/ProducerConsumerQueue.h index 053c0e26..9ebe65ac 100644 --- a/folly/ProducerConsumerQueue.h +++ b/folly/ProducerConsumerQueue.h @@ -27,6 +27,8 @@ #include #include +#include + namespace folly { /* @@ -166,11 +168,14 @@ struct ProducerConsumerQueue { } private: + char pad0_[detail::CacheLocality::kFalseSharingRange]; const uint32_t size_; T* const records_; - std::atomic readIndex_; - std::atomic writeIndex_; + FOLLY_ALIGN_TO_AVOID_FALSE_SHARING std::atomic readIndex_; + FOLLY_ALIGN_TO_AVOID_FALSE_SHARING std::atomic writeIndex_; + + char pad1_[detail::CacheLocality::kFalseSharingRange - sizeof(writeIndex_)]; }; }