urcu: add cacheline padding to URCU thread data
[libcds.git] / cds / urcu / details / gp_decl.h
index 52592c8a1b924b2a2710e8349160f3d9fa1f739b..dcfe0a228cecde7e701816bc430ea4f152877173 100644 (file)
@@ -34,6 +34,7 @@
 #include <cds/urcu/details/base.h>
 #include <cds/details/static_functor.h>
 #include <cds/details/lib.h>
+#include <cds/user_setup/cache_line.h>
 
 //@cond
 namespace cds { namespace urcu { namespace details {
@@ -45,6 +46,7 @@ namespace cds { namespace urcu { namespace details {
     template <> struct thread_data<tag_> { \
         atomics::atomic<uint32_t>        m_nAccessControl ; \
         thread_list_record< thread_data >   m_list ; \
+        char pad_[cds::c_nCacheLineSize]; \
         thread_data(): m_nAccessControl(0) {} \
         explicit thread_data( OS::ThreadId owner ): m_nAccessControl(0), m_list(owner) {} \
         ~thread_data() {} \