Relax memory order constraints.
authorMike Krinkin <krinkin.m.u@gmail.com>
Thu, 16 Apr 2015 21:52:41 +0000 (00:52 +0300)
committerkhizmax <khizmax@gmail.com>
Tue, 21 Apr 2015 12:51:48 +0000 (15:51 +0300)
cds/intrusive/split_list.h
cds/intrusive/split_list_nogc.h
cds/intrusive/split_list_rcu.h

index 2d78c141de621515e0b172774885f9b69ab261eb..0288e703f5c74b9aa1b6cd4eafdaafd67c71b1b1 100644 (file)
@@ -480,7 +480,7 @@ namespace cds { namespace intrusive {
                                                                               : std::numeric_limits<size_t>::max();
             m_nMaxItemCount.compare_exchange_strong( nMaxCount, nNewMaxCount, memory_model::memory_order_relaxed,
                 memory_model::memory_order_relaxed );
-            m_nBucketCountLog2.compare_exchange_strong( sz, sz + 1, memory_model::memory_order_seq_cst, memory_model::memory_order_relaxed );
+            m_nBucketCountLog2.compare_exchange_strong( sz, sz + 1, memory_model::memory_order_relaxed, memory_model::memory_order_relaxed );
         }
 
         template <typename Q, typename Compare, typename Func>
index 5ae837c843c420ce935646a6221e4f9fa00cf0ae..5bf894ba515628555dfe2181ff06a390aa65d4f5 100644 (file)
@@ -277,7 +277,7 @@ namespace cds { namespace intrusive {
                                                                               : std::numeric_limits<size_t>::max();
             m_nMaxItemCount.compare_exchange_strong( nMaxCount, nNewMaxCount, memory_model::memory_order_relaxed,
                 memory_model::memory_order_relaxed );
-            m_nBucketCountLog2.compare_exchange_strong( sz, sz + 1, memory_model::memory_order_seq_cst, memory_model::memory_order_relaxed );
+            m_nBucketCountLog2.compare_exchange_strong( sz, sz + 1, memory_model::memory_order_relaxed, memory_model::memory_order_relaxed );
         }
 
         //@endcond
index f83bd7d26c2083c20ad06db9adf8f98a808029ca..8deeb7ce75b84505d8a7b77f3988011f8f6c46a2 100644 (file)
@@ -373,7 +373,7 @@ namespace cds { namespace intrusive {
                                                                               : std::numeric_limits<size_t>::max();
             m_nMaxItemCount.compare_exchange_strong( nMaxCount, nNewMaxCount, memory_model::memory_order_relaxed,
                 memory_model::memory_order_relaxed );
-            m_nBucketCountLog2.compare_exchange_strong( sz, sz + 1, memory_model::memory_order_seq_cst, memory_model::memory_order_relaxed );
+            m_nBucketCountLog2.compare_exchange_strong( sz, sz + 1, memory_model::memory_order_relaxed, memory_model::memory_order_relaxed );
         }
 
         template <typename Q, typename Compare, typename Func>