From 812f05bc16b5d15ee7dcef8e748f4cc57d10ca33 Mon Sep 17 00:00:00 2001 From: khizmax Date: Sat, 30 May 2015 18:30:12 +0300 Subject: [PATCH] Changed SplitListSet/Map for new MichaelList extract()/get() semantics --- cds/container/details/split_list_base.h | 4 +- cds/container/split_list_map_rcu.h | 37 +++--- cds/container/split_list_set_rcu.h | 117 ++++++++++++++---- cds/intrusive/split_list_rcu.h | 58 ++++----- tests/test-hdr/map/hdr_map.h | 6 + .../map/hdr_splitlist_map_rcu_gpb.cpp | 16 +-- .../map/hdr_splitlist_map_rcu_gpi.cpp | 16 +-- .../map/hdr_splitlist_map_rcu_gpt.cpp | 16 +-- .../map/hdr_splitlist_map_rcu_shb.cpp | 16 +-- .../map/hdr_splitlist_map_rcu_sht.cpp | 16 +-- tests/test-hdr/set/hdr_intrusive_set.h | 2 +- .../hdr_intrusive_splitlist_set_rcu_gpb.cpp | 32 ++--- .../hdr_intrusive_splitlist_set_rcu_gpi.cpp | 32 ++--- .../hdr_intrusive_splitlist_set_rcu_gpt.cpp | 32 ++--- .../hdr_intrusive_splitlist_set_rcu_shb.cpp | 32 ++--- .../hdr_intrusive_splitlist_set_rcu_sht.cpp | 32 ++--- .../set/hdr_splitlist_set_rcu_gpb.cpp | 16 +-- .../set/hdr_splitlist_set_rcu_gpi.cpp | 16 +-- .../set/hdr_splitlist_set_rcu_gpt.cpp | 16 +-- .../set/hdr_splitlist_set_rcu_shb.cpp | 16 +-- .../set/hdr_splitlist_set_rcu_sht.cpp | 16 +-- 21 files changed, 312 insertions(+), 232 deletions(-) diff --git a/cds/container/details/split_list_base.h b/cds/container/details/split_list_base.h index 3e7d62f7..482f89cb 100644 --- a/cds/container/details/split_list_base.h +++ b/cds/container/details/split_list_base.h @@ -91,8 +91,8 @@ namespace cds { namespace container { /** Selects appropriate ordered-list implementation for split-list. Supported types are: - - \p michael_list_tag - for MichaelList - - \p lazy_list_tag - for LazyList + - \p michael_list_tag - for \p MichaelList + - \p lazy_list_tag - for \p LazyList */ typedef michael_list_tag ordered_list; diff --git a/cds/container/split_list_map_rcu.h b/cds/container/split_list_map_rcu.h index ed3c5899..9d939725 100644 --- a/cds/container/split_list_map_rcu.h +++ b/cds/container/split_list_map_rcu.h @@ -178,6 +178,7 @@ namespace cds { namespace container { typedef typename base_class::exempt_ptr exempt_ptr; ///< pointer to extracted node /// Group of \p extract_xxx functions require external locking if underlying ordered list requires that static CDS_CONSTEXPR const bool c_bExtractLockExternal = base_class::c_bExtractLockExternal; + typedef typename base_class::raw_ptr raw_ptr; ///< type of \p get() return value //@cond typedef cds::container::split_list::implementation_tag implementation_tag; @@ -462,31 +463,29 @@ namespace cds { namespace container { unlinks it from the map, and returns \ref cds::urcu::exempt_ptr "exempt_ptr" pointer to the item found. If the item with the key equal to \p key is not found the function returns an empty \p exempt_ptr. - @note The function does NOT call RCU read-side lock or synchronization, - and does NOT dispose the item found. It just excludes the item from the map - and returns a pointer to item found. - You should lock RCU before calling of the function, and you should synchronize RCU - outside the RCU lock to free extracted item + Depends on ordered list you should or should not lock RCU before calling of this function: + - for the set based on \ref cds_intrusive_MichaelList_rcu "MichaelList" RCU should not be locked + - for the set based on \ref cds_intrusive_LazyList_rcu "LazyList" RCU should be locked + See ordered list implementation for details. \code typedef cds::urcu::gc< general_buffered<> > rcu; + + // Split-list set based on MichaelList by default typedef cds::container::SplitListMap< rcu, int, Foo > splitlist_map; splitlist_map theMap; // ... typename splitlist_map::exempt_ptr p; - { - // first, we should lock RCU - typename splitlist_map::rcu_lock lock; - // Now, you can apply extract function - // Note that you must not delete the item found inside the RCU lock - p = theMap.extract( 10 ) - if ( p ) { - // do something with p - ... - } + // For MichaelList we should not lock RCU + + // Now, you can apply extract function + p = theMap.extract( 10 ) + if ( p ) { + // do something with p + ... } // We may safely release p here @@ -587,7 +586,7 @@ namespace cds { namespace container { /// Finds \p key and return the item found /** \anchor cds_intrusive_SplitListMap_rcu_get The function searches the item with key equal to \p key and returns the pointer to item found. - If \p key is not found it returns \p nullptr. + If \p key is not found it returns empty \p raw_ptr. Note the compare functor should accept a parameter of type \p K that can be not the same as \p value_type. @@ -602,7 +601,7 @@ namespace cds { namespace container { // Lock RCU typename splitlist_map::rcu_lock lock; - typename splitlist_map::value_type * pVal = theMap.get( 5 ); + typename splitlist_map::raw_ptr pVal = theMap.get( 5 ); if ( pVal ) { // Deal with pVal //... @@ -613,7 +612,7 @@ namespace cds { namespace container { \endcode */ template - value_type * get( K const& key ) + raw_ptr get( K const& key ) { return base_class::get( key ); } @@ -628,7 +627,7 @@ namespace cds { namespace container { \p pred must imply the same element order as the comparator used for building the map. */ template - value_type * get_with( K const& key, Less pred ) + raw_ptr get_with( K const& key, Less pred ) { CDS_UNUSED( pred ); return base_class::get_with( key, cds::details::predicate_wrapper()); diff --git a/cds/container/split_list_set_rcu.h b/cds/container/split_list_set_rcu.h index f6caeb73..f2d802ae 100644 --- a/cds/container/split_list_set_rcu.h +++ b/cds/container/split_list_set_rcu.h @@ -9,6 +9,70 @@ namespace cds { namespace container { + //@cond + namespace split_list { namespace details { + + template < + typename T, + class OrdList, + typename OrdListTag + > + class make_raw_ptr; + +#ifdef CDSLIB_CONTAINER_DETAILS_MICHAEL_LIST_BASE_H + template + class make_raw_ptr< T, RawPtr, cds::container::michael_list_tag > + { + typedef RawPtr intrusive_raw_ptr; + typedef typename intrusive_raw_ptr::value_type node_type; + typedef T value_type; + + struct raw_ptr_converter + { + value_type * operator()( node_type * p ) const + { + return p ? &p->m_Value : nullptr; + } + + value_type& operator()( node_type& n ) const + { + return n.m_Value; + } + + value_type const& operator()( node_type const& n ) const + { + return n.m_Value; + } + }; + public: + typedef cds::urcu::raw_ptr_adaptor< value_type, intrusive_raw_ptr, raw_ptr_converter > raw_ptr; + + static raw_ptr make( typename intrusive_raw_ptr&& p ) + { + return raw_ptr(std::move( p )); + } + }; +#endif + +#ifdef CDSLIB_CONTAINER_DETAILS_LAZY_LIST_BASE_H + template + class make_raw_ptr< T, RawPtr, cds::container::lazy_list_tag > + { + typedef RawPtr node_type_pointer; + typedef T value_type; + + public: + typedef value_type * raw_ptr; + + static raw_ptr make( node_type_pointer p ) + { + return p ? &p->m_Value : nullptr; + } + }; +#endif + }} //namespace split_list::details + //@endcond + /// Split-ordered list set (template specialization for \ref cds_urcu_desc "RCU") /** @ingroup cds_nonintrusive_set \anchor cds_nonintrusive_SplitListSet_rcu @@ -181,6 +245,7 @@ namespace cds { namespace container { typedef T value_type; ///< Type of value to be storedin the set typedef Traits traits; ///< \p Traits template argument + // Note: ordered_list is not real ordered list type. Actual type is base_class::ordered_list typedef typename maker::ordered_list ordered_list; ///< Underlying ordered list class typedef typename base_class::key_comparator key_comparator; ///< key compare functor @@ -206,6 +271,20 @@ namespace cds { namespace container { public: /// pointer to extracted node using exempt_ptr = cds::urcu::exempt_ptr< gc, node_type, value_type, typename maker::ordered_list_traits::disposer >; +# ifdef CDS_DOXYGEN_INVOKED + /// pointer to the node for \p get() function + /** + For \p LazyList, \p %raw_ptr is just pointer to \p value_type. + + For \p MichaelList, \p %raw_ptr is \p cds::urcu::raw_ptr object giving access to \p value_type. + */ + typedef implementation_defined raw_ptr; +# else + private: + typedef split_list::details::make_raw_ptr< value_type, typename base_class::ordered_list::raw_ptr, typename traits::ordered_list > raw_ptr_maker; + public: + typedef typename raw_ptr_maker::raw_ptr raw_ptr; +#endif protected: //@cond @@ -594,31 +673,29 @@ namespace cds { namespace container { unlinks it from the set, and returns \ref cds::urcu::exempt_ptr "exempt_ptr" pointer to the item found. If the item with the key equal to \p key is not found the function returns an empty \p exempt_ptr. - @note The function does NOT call RCU read-side lock or synchronization, - and does NOT dispose the item found. It just excludes the item from the set - and returns a pointer to item found. - You should lock RCU before calling of the function, and you should synchronize RCU - outside the RCU lock to free extracted item + Depends on \p bucket_type you should or should not lock RCU before calling of this function: + - for the set based on \ref cds_intrusive_MichaelList_rcu "MichaelList" RCU should not be locked + - for the set based on \ref cds_intrusive_LazyList_rcu "LazyList" RCU should be locked + See ordered list implementation for details. \code typedef cds::urcu::gc< general_buffered<> > rcu; + + // Split-list set based on MichaelList by default typedef cds::container::SplitListSet< rcu, Foo > splitlist_set; splitlist_set theSet; // ... splitlist_set::exempt_ptr p; - { - // first, we should lock RCU - splitlist_set::rcu_lock lock; - // Now, you can apply extract function - // Note that you must not delete the item found inside the RCU lock - p = theSet.extract( 10 ); - if ( p ) { - // do something with p - ... - } + // For MichaelList we should not lock RCU + + // Now, you can apply extract function + p = theSet.extract( 10 ); + if ( p ) { + // do something with p + ... } // We may safely release p here @@ -762,10 +839,9 @@ namespace cds { namespace container { \endcode */ template - value_type * get( Q const& key ) + raw_ptr get( Q const& key ) { - node_type * pNode = base_class::get( key ); - return pNode ? &pNode->m_Value : nullptr; + return raw_ptr_maker::make( base_class::get( key )); } /// Finds the key \p key and return the item found @@ -778,11 +854,10 @@ namespace cds { namespace container { \p pred must imply the same element order as the comparator used for building the set. */ template - value_type * get_with( Q const& key, Less pred ) + raw_ptr get_with( Q const& key, Less pred ) { CDS_UNUSED( pred ); - node_type * pNode = base_class::get_with( key, typename maker::template predicate_wrapper::type()); - return pNode ? &pNode->m_Value : nullptr; + return raw_ptr_maker::make( base_class::get_with( key, typename maker::template predicate_wrapper::type())); } /// Clears the set (not atomic) diff --git a/cds/intrusive/split_list_rcu.h b/cds/intrusive/split_list_rcu.h index 3ba40492..71afda51 100644 --- a/cds/intrusive/split_list_rcu.h +++ b/cds/intrusive/split_list_rcu.h @@ -90,6 +90,7 @@ namespace cds { namespace intrusive { typedef typename ordered_list::disposer disposer; ///< Node disposer functor typedef typename ordered_list::rcu_lock rcu_lock; ///< RCU scoped lock typedef typename ordered_list::exempt_ptr exempt_ptr; ///< pointer to extracted node + typedef typename ordered_list::raw_ptr raw_ptr; ///< pointer to the node for \p get() function /// Group of \p extract_xxx functions require external locking if underlying ordered list requires that static CDS_CONSTEXPR const bool c_bExtractLockExternal = ordered_list::c_bExtractLockExternal; @@ -186,7 +187,7 @@ namespace cds { namespace intrusive { } template - bool find_at( dummy_node_type * pHead, split_list::details::search_value_type& val, Compare cmp, Func f ) const + bool find_at( dummy_node_type * pHead, split_list::details::search_value_type& val, Compare cmp, Func f ) { assert( pHead != nullptr ); bucket_head_type h(pHead); @@ -194,7 +195,7 @@ namespace cds { namespace intrusive { } template - bool find_at( dummy_node_type * pHead, split_list::details::search_value_type const & val, Compare cmp ) const + bool find_at( dummy_node_type * pHead, split_list::details::search_value_type const & val, Compare cmp ) { assert( pHead != nullptr ); bucket_head_type h(pHead); @@ -202,7 +203,7 @@ namespace cds { namespace intrusive { } template - value_type * get_at( dummy_node_type * pHead, split_list::details::search_value_type& val, Compare cmp ) const + raw_ptr get_at( dummy_node_type * pHead, split_list::details::search_value_type& val, Compare cmp ) { assert( pHead != nullptr ); bucket_head_type h(pHead); @@ -404,15 +405,15 @@ namespace cds { namespace intrusive { } template - value_type * get_( Q const& val, Compare cmp ) + raw_ptr get_( Q const& val, Compare cmp ) { size_t nHash = hash_value( val ); split_list::details::search_value_type sv( val, split_list::regular_hash( nHash )); dummy_node_type * pHead = get_bucket( nHash ); assert( pHead != nullptr ); - value_type * p = m_List.get_at( pHead, sv, cmp ); - m_Stat.onFind( p != nullptr ); + raw_ptr p = m_List.get_at( pHead, sv, cmp ); + m_Stat.onFind( !!p ); return p; } @@ -725,11 +726,10 @@ namespace cds { namespace intrusive { unlinks it, and returns \ref cds::urcu::exempt_ptr "exempt_ptr" pointer to the item found. If the item with the key equal to \p key is not found the function returns an empty \p exempt_ptr. - @note The function does NOT call RCU read-side lock or synchronization, - and does NOT dispose the item found. It just excludes the item from the set - and returns a pointer to item found. - You should lock RCU before calling of the function, and you should synchronize RCU - outside the RCU lock before reusing returned pointer. + Depends on \p bucket_type you should or should not lock RCU before calling of this function: + - for the set based on \ref cds_intrusive_MichaelList_rcu "MichaelList" RCU should not be locked + - for the set based on \ref cds_intrusive_LazyList_rcu "LazyList" RCU should be locked + See ordered list implementation for details. \code typedef cds::urcu::gc< general_buffered<> > rcu; @@ -740,17 +740,15 @@ namespace cds { namespace intrusive { // ... rcu_splitlist_set::exempt_ptr p; - { - // first, we should lock RCU - rcu_splitlist_set::rcu_lock lock; - - // Now, you can apply extract function - // Note that you must not delete the item found inside the RCU lock - p = theList.extract( 10 ); - if ( p ) { - // do something with p - ... - } + + // For MichaelList we should not lock RCU + + // Now, you can apply extract function + // Note that you must not delete the item found inside the RCU lock + p = theList.extract( 10 ); + if ( p ) { + // do something with p + ... } // We may safely release p here @@ -873,24 +871,26 @@ namespace cds { namespace intrusive { RCU should be locked before call of this function. Returned item is valid only while RCU is locked: \code - cds::intrusive::SplitListSet< your_template_parameters > theSet; + typedef cds::intrusive::SplitListSet< your_template_parameters > set_class; + set_class theSet; // ... + typename set_class::raw_ptr rp; { // Lock RCU hash_set::rcu_lock lock; - foo * pVal = theSet.get( 5 ); - if ( pVal ) { - // Deal with pVal + rp = theSet.get( 5 ); + if ( rp ) { + // Deal with rp //... } // Unlock RCU by rcu_lock destructor - // pVal can be retired by disposer at any time after RCU has been unlocked + // rp can be retired by disposer at any time after RCU has been unlocked } \endcode */ template - value_type * get( Q const& key ) + raw_ptr get( Q const& key ) { return get_( key, key_comparator() ); } @@ -905,7 +905,7 @@ namespace cds { namespace intrusive { \p pred must imply the same element order as the comparator used for building the set. */ template - value_type * get_with( Q const& key, Less pred ) + raw_ptr get_with( Q const& key, Less pred ) { CDS_UNUSED( pred ); return get_( key, typename wrapped_ordered_list::template make_compare_from_less()); diff --git a/tests/test-hdr/map/hdr_map.h b/tests/test-hdr/map/hdr_map.h index fc6872ae..e5681373 100644 --- a/tests/test-hdr/map/hdr_map.h +++ b/tests/test-hdr/map/hdr_map.h @@ -433,6 +433,12 @@ namespace map { test_iter(); } + template + void test_rcu_split_list() + { + test_rcu_michael_list(); + } + template void test_int_with( Map& m ) { diff --git a/tests/test-hdr/map/hdr_splitlist_map_rcu_gpb.cpp b/tests/test-hdr/map/hdr_splitlist_map_rcu_gpb.cpp index db95da0c..dcd18a66 100644 --- a/tests/test-hdr/map/hdr_splitlist_map_rcu_gpb.cpp +++ b/tests/test-hdr/map/hdr_splitlist_map_rcu_gpb.cpp @@ -61,7 +61,7 @@ namespace map { { // traits-based version typedef cc::SplitListMap< rcu_type, key_type, value_type, RCU_GPB_cmp_traits > map_type; - test_rcu< map_type >(); + test_rcu_split_list< map_type >(); // option-based version typedef cc::SplitListMap< rcu_type, @@ -80,14 +80,14 @@ namespace map { > >::type > opt_map; - test_rcu< opt_map >(); + test_rcu_split_list< opt_map >(); } void HashMapHdrTest::Split_RCU_GPB_less() { // traits-based version typedef cc::SplitListMap< rcu_type, key_type, value_type, RCU_GPB_less_traits > map_type; - test_rcu< map_type >(); + test_rcu_split_list< map_type >(); // option-based version typedef cc::SplitListMap< rcu_type, @@ -106,14 +106,14 @@ namespace map { > >::type > opt_map; - test_rcu< opt_map >(); + test_rcu_split_list< opt_map >(); } void HashMapHdrTest::Split_RCU_GPB_cmpmix() { // traits-based version typedef cc::SplitListMap< rcu_type, key_type, value_type, RCU_cmpmix_traits > map_type; - test_rcu< map_type >(); + test_rcu_split_list< map_type >(); // option-based version typedef cc::SplitListMap< rcu_type, @@ -131,14 +131,14 @@ namespace map { > >::type > opt_map; - test_rcu< opt_map >(); + test_rcu_split_list< opt_map >(); } void HashMapHdrTest::Split_RCU_GPB_cmpmix_stat() { // traits-based version typedef cc::SplitListMap< rcu_type, key_type, value_type, RCU_cmpmix_stat_traits > map_type; - test_rcu< map_type >(); + test_rcu_split_list< map_type >(); // option-based version typedef cc::SplitListMap< rcu_type, @@ -157,7 +157,7 @@ namespace map { > >::type > opt_map; - test_rcu< opt_map >(); + test_rcu_split_list< opt_map >(); } } // namespace map diff --git a/tests/test-hdr/map/hdr_splitlist_map_rcu_gpi.cpp b/tests/test-hdr/map/hdr_splitlist_map_rcu_gpi.cpp index 0a69b116..545e4664 100644 --- a/tests/test-hdr/map/hdr_splitlist_map_rcu_gpi.cpp +++ b/tests/test-hdr/map/hdr_splitlist_map_rcu_gpi.cpp @@ -62,7 +62,7 @@ namespace map { { // traits-based version typedef cc::SplitListMap< rcu_type, key_type, value_type, RCU_GPI_cmp_traits > map_type; - test_rcu< map_type >(); + test_rcu_split_list< map_type >(); // option-based version typedef cc::SplitListMap< rcu_type, @@ -81,14 +81,14 @@ namespace map { > >::type > opt_map; - test_rcu< opt_map >(); + test_rcu_split_list< opt_map >(); } void HashMapHdrTest::Split_RCU_GPI_less() { // traits-based version typedef cc::SplitListMap< rcu_type, key_type, value_type, RCU_GPI_less_traits > map_type; - test_rcu< map_type >(); + test_rcu_split_list< map_type >(); // option-based version typedef cc::SplitListMap< rcu_type, @@ -107,14 +107,14 @@ namespace map { > >::type > opt_map; - test_rcu< opt_map >(); + test_rcu_split_list< opt_map >(); } void HashMapHdrTest::Split_RCU_GPI_cmpmix() { // traits-based version typedef cc::SplitListMap< rcu_type, key_type, value_type, RCU_cmpmix_traits > map_type; - test_rcu< map_type >(); + test_rcu_split_list< map_type >(); // option-based version typedef cc::SplitListMap< rcu_type, @@ -132,14 +132,14 @@ namespace map { > >::type > opt_map; - test_rcu< opt_map >(); + test_rcu_split_list< opt_map >(); } void HashMapHdrTest::Split_RCU_GPI_cmpmix_stat() { // traits-based version typedef cc::SplitListMap< rcu_type, key_type, value_type, RCU_cmpmix_stat_traits > map_type; - test_rcu< map_type >(); + test_rcu_split_list< map_type >(); // option-based version typedef cc::SplitListMap< rcu_type, @@ -158,7 +158,7 @@ namespace map { > >::type > opt_map; - test_rcu< opt_map >(); + test_rcu_split_list< opt_map >(); } } // namespace map diff --git a/tests/test-hdr/map/hdr_splitlist_map_rcu_gpt.cpp b/tests/test-hdr/map/hdr_splitlist_map_rcu_gpt.cpp index d83b95b2..5d666c39 100644 --- a/tests/test-hdr/map/hdr_splitlist_map_rcu_gpt.cpp +++ b/tests/test-hdr/map/hdr_splitlist_map_rcu_gpt.cpp @@ -61,7 +61,7 @@ namespace map { { // traits-based version typedef cc::SplitListMap< rcu_type, key_type, value_type, RCU_GPT_cmp_traits > map_type; - test_rcu< map_type >(); + test_rcu_split_list< map_type >(); // option-based version typedef cc::SplitListMap< rcu_type, @@ -80,14 +80,14 @@ namespace map { > >::type > opt_map; - test_rcu< opt_map >(); + test_rcu_split_list< opt_map >(); } void HashMapHdrTest::Split_RCU_GPT_less() { // traits-based version typedef cc::SplitListMap< rcu_type, key_type, value_type, RCU_GPT_less_traits > map_type; - test_rcu< map_type >(); + test_rcu_split_list< map_type >(); // option-based version typedef cc::SplitListMap< rcu_type, @@ -106,14 +106,14 @@ namespace map { > >::type > opt_map; - test_rcu< opt_map >(); + test_rcu_split_list< opt_map >(); } void HashMapHdrTest::Split_RCU_GPT_cmpmix() { // traits-based version typedef cc::SplitListMap< rcu_type, key_type, value_type, RCU_cmpmix_traits > map_type; - test_rcu< map_type >(); + test_rcu_split_list< map_type >(); // option-based version typedef cc::SplitListMap< rcu_type, @@ -131,14 +131,14 @@ namespace map { > >::type > opt_map; - test_rcu< opt_map >(); + test_rcu_split_list< opt_map >(); } void HashMapHdrTest::Split_RCU_GPT_cmpmix_stat() { // traits-based version typedef cc::SplitListMap< rcu_type, key_type, value_type, RCU_cmpmix_stat_traits > map_type; - test_rcu< map_type >(); + test_rcu_split_list< map_type >(); // option-based version typedef cc::SplitListMap< rcu_type, @@ -157,7 +157,7 @@ namespace map { > >::type > opt_map; - test_rcu< opt_map >(); + test_rcu_split_list< opt_map >(); } } // namespace map diff --git a/tests/test-hdr/map/hdr_splitlist_map_rcu_shb.cpp b/tests/test-hdr/map/hdr_splitlist_map_rcu_shb.cpp index a74538fa..1d740b7a 100644 --- a/tests/test-hdr/map/hdr_splitlist_map_rcu_shb.cpp +++ b/tests/test-hdr/map/hdr_splitlist_map_rcu_shb.cpp @@ -64,7 +64,7 @@ namespace map { #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED // traits-based version typedef cc::SplitListMap< rcu_type, key_type, value_type, RCU_SHB_cmp_traits > map_type; - test_rcu< map_type >(); + test_rcu_split_list< map_type >(); // option-based version typedef cc::SplitListMap< rcu_type, @@ -83,7 +83,7 @@ namespace map { > >::type > opt_map; - test_rcu< opt_map >(); + test_rcu_split_list< opt_map >(); #endif } @@ -92,7 +92,7 @@ namespace map { #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED // traits-based version typedef cc::SplitListMap< rcu_type, key_type, value_type, RCU_SHB_less_traits > map_type; - test_rcu< map_type >(); + test_rcu_split_list< map_type >(); // option-based version typedef cc::SplitListMap< rcu_type, @@ -111,7 +111,7 @@ namespace map { > >::type > opt_map; - test_rcu< opt_map >(); + test_rcu_split_list< opt_map >(); #endif } @@ -120,7 +120,7 @@ namespace map { #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED // traits-based version typedef cc::SplitListMap< rcu_type, key_type, value_type, RCU_cmpmix_traits > map_type; - test_rcu< map_type >(); + test_rcu_split_list< map_type >(); // option-based version typedef cc::SplitListMap< rcu_type, @@ -138,7 +138,7 @@ namespace map { > >::type > opt_map; - test_rcu< opt_map >(); + test_rcu_split_list< opt_map >(); #endif } @@ -147,7 +147,7 @@ namespace map { #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED // traits-based version typedef cc::SplitListMap< rcu_type, key_type, value_type, RCU_cmpmix_stat_traits > map_type; - test_rcu< map_type >(); + test_rcu_split_list< map_type >(); // option-based version typedef cc::SplitListMap< rcu_type, @@ -166,7 +166,7 @@ namespace map { > >::type > opt_map; - test_rcu< opt_map >(); + test_rcu_split_list< opt_map >(); #endif } diff --git a/tests/test-hdr/map/hdr_splitlist_map_rcu_sht.cpp b/tests/test-hdr/map/hdr_splitlist_map_rcu_sht.cpp index af2973d4..c333c4fb 100644 --- a/tests/test-hdr/map/hdr_splitlist_map_rcu_sht.cpp +++ b/tests/test-hdr/map/hdr_splitlist_map_rcu_sht.cpp @@ -64,7 +64,7 @@ namespace map { #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED // traits-based version typedef cc::SplitListMap< rcu_type, key_type, value_type, RCU_SHT_cmp_traits > map_type; - test_rcu< map_type >(); + test_rcu_split_list< map_type >(); // option-based version typedef cc::SplitListMap< rcu_type, @@ -83,7 +83,7 @@ namespace map { > >::type > opt_map; - test_rcu< opt_map >(); + test_rcu_split_list< opt_map >(); #endif } @@ -92,7 +92,7 @@ namespace map { #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED // traits-based version typedef cc::SplitListMap< rcu_type, key_type, value_type, RCU_SHT_less_traits > map_type; - test_rcu< map_type >(); + test_rcu_split_list< map_type >(); // option-based version typedef cc::SplitListMap< rcu_type, @@ -111,7 +111,7 @@ namespace map { > >::type > opt_map; - test_rcu< opt_map >(); + test_rcu_split_list< opt_map >(); #endif } @@ -120,7 +120,7 @@ namespace map { #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED // traits-based version typedef cc::SplitListMap< rcu_type, key_type, value_type, RCU_cmpmix_traits > map_type; - test_rcu< map_type >(); + test_rcu_split_list< map_type >(); // option-based version typedef cc::SplitListMap< rcu_type, @@ -138,7 +138,7 @@ namespace map { > >::type > opt_map; - test_rcu< opt_map >(); + test_rcu_split_list< opt_map >(); #endif } @@ -147,7 +147,7 @@ namespace map { #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED // traits-based version typedef cc::SplitListMap< rcu_type, key_type, value_type, RCU_cmpmix_stat_traits > map_type; - test_rcu< map_type >(); + test_rcu_split_list< map_type >(); // option-based version typedef cc::SplitListMap< rcu_type, @@ -166,7 +166,7 @@ namespace map { > >::type > opt_map; - test_rcu< opt_map >(); + test_rcu_split_list< opt_map >(); #endif } diff --git a/tests/test-hdr/set/hdr_intrusive_set.h b/tests/test-hdr/set/hdr_intrusive_set.h index 861d1fe1..0355e7d3 100644 --- a/tests/test-hdr/set/hdr_intrusive_set.h +++ b/tests/test-hdr/set/hdr_intrusive_set.h @@ -1033,7 +1033,7 @@ namespace set { CPPUNIT_ASSERT( s.insert( arrItems[i] )); for ( size_t i = 0; i < nLimit; i += 2 ) { - value_type * 1; + value_type * pVal; int nKey = arr[i]; { rcu_lock l; diff --git a/tests/test-hdr/set/hdr_intrusive_splitlist_set_rcu_gpb.cpp b/tests/test-hdr/set/hdr_intrusive_splitlist_set_rcu_gpb.cpp index 5dcb67c4..356d9335 100644 --- a/tests/test-hdr/set/hdr_intrusive_splitlist_set_rcu_gpb.cpp +++ b/tests/test-hdr/set/hdr_intrusive_splitlist_set_rcu_gpb.cpp @@ -31,7 +31,7 @@ namespace set { > set; static_assert(set::traits::dynamic_bucket_table, "Set has static bucket table"); - test_rcu_int(); + test_rcu_int_michael_list(); } void IntrusiveHashSetHdrTest::split_dyn_RCU_GPB_base_less() @@ -54,7 +54,7 @@ namespace set { > set; static_assert(set::traits::dynamic_bucket_table, "Set has static bucket table"); - test_rcu_int(); + test_rcu_int_michael_list(); } void IntrusiveHashSetHdrTest::split_dyn_RCU_GPB_base_cmpmix() @@ -79,7 +79,7 @@ namespace set { > set; static_assert(set::traits::dynamic_bucket_table, "Set has static bucket table"); - test_rcu_int(); + test_rcu_int_michael_list(); } void IntrusiveHashSetHdrTest::split_dyn_RCU_GPB_base_cmpmix_stat() @@ -104,7 +104,7 @@ namespace set { static_assert(set::traits::dynamic_bucket_table, "Set has static bucket table"); - test_rcu_int(); + test_rcu_int_michael_list(); } void IntrusiveHashSetHdrTest::split_dyn_RCU_GPB_member_cmp() @@ -129,7 +129,7 @@ namespace set { > set; static_assert(set::traits::dynamic_bucket_table, "Set has static bucket table"); - test_rcu_int(); + test_rcu_int_michael_list(); } void IntrusiveHashSetHdrTest::split_dyn_RCU_GPB_member_less() @@ -155,7 +155,7 @@ namespace set { > set; static_assert(set::traits::dynamic_bucket_table, "Set has static bucket table"); - test_rcu_int(); + test_rcu_int_michael_list(); } void IntrusiveHashSetHdrTest::split_dyn_RCU_GPB_member_cmpmix() @@ -183,7 +183,7 @@ namespace set { > set; static_assert(set::traits::dynamic_bucket_table, "Set has static bucket table"); - test_rcu_int(); + test_rcu_int_michael_list(); } void IntrusiveHashSetHdrTest::split_dyn_RCU_GPB_member_cmpmix_stat() @@ -213,7 +213,7 @@ namespace set { typedef ci::SplitListSet< rcu_type, ord_list, set_traits > set; static_assert(set::traits::dynamic_bucket_table, "Set has static bucket table"); - test_rcu_int(); + test_rcu_int_michael_list(); } // Static bucket table @@ -238,7 +238,7 @@ namespace set { > set; static_assert(!set::traits::dynamic_bucket_table, "Set has dynamic bucket table"); - test_rcu_int(); + test_rcu_int_michael_list(); } void IntrusiveHashSetHdrTest::split_st_RCU_GPB_base_less() @@ -262,7 +262,7 @@ namespace set { > set; static_assert(!set::traits::dynamic_bucket_table, "Set has dynamic bucket table"); - test_rcu_int(); + test_rcu_int_michael_list(); } void IntrusiveHashSetHdrTest::split_st_RCU_GPB_base_cmpmix() @@ -287,7 +287,7 @@ namespace set { > set; static_assert(!set::traits::dynamic_bucket_table, "Set has dynamic bucket table"); - test_rcu_int(); + test_rcu_int_michael_list(); } void IntrusiveHashSetHdrTest::split_st_RCU_GPB_base_cmpmix_stat() @@ -313,7 +313,7 @@ namespace set { > set; static_assert(!set::traits::dynamic_bucket_table, "Set has dynamic bucket table"); - test_rcu_int(); + test_rcu_int_michael_list(); } void IntrusiveHashSetHdrTest::split_st_RCU_GPB_member_cmp() @@ -340,7 +340,7 @@ namespace set { > set; static_assert(!set::traits::dynamic_bucket_table, "Set has dynamic bucket table"); - test_rcu_int(); + test_rcu_int_michael_list(); } void IntrusiveHashSetHdrTest::split_st_RCU_GPB_member_less() @@ -367,7 +367,7 @@ namespace set { > set; static_assert(!set::traits::dynamic_bucket_table, "Set has dynamic bucket table"); - test_rcu_int(); + test_rcu_int_michael_list(); } void IntrusiveHashSetHdrTest::split_st_RCU_GPB_member_cmpmix() @@ -395,7 +395,7 @@ namespace set { > set; static_assert(!set::traits::dynamic_bucket_table, "Set has dynamic bucket table"); - test_rcu_int(); + test_rcu_int_michael_list(); } void IntrusiveHashSetHdrTest::split_st_RCU_GPB_member_cmpmix_stat() @@ -424,6 +424,6 @@ namespace set { > set; static_assert(!set::traits::dynamic_bucket_table, "Set has dynamic bucket table"); - test_rcu_int(); + test_rcu_int_michael_list(); } } // namespace set diff --git a/tests/test-hdr/set/hdr_intrusive_splitlist_set_rcu_gpi.cpp b/tests/test-hdr/set/hdr_intrusive_splitlist_set_rcu_gpi.cpp index 36d7415b..66bc7bfb 100644 --- a/tests/test-hdr/set/hdr_intrusive_splitlist_set_rcu_gpi.cpp +++ b/tests/test-hdr/set/hdr_intrusive_splitlist_set_rcu_gpi.cpp @@ -31,7 +31,7 @@ namespace set { > set; static_assert( set::traits::dynamic_bucket_table, "Set has static bucket table" ); - test_rcu_int(); + test_rcu_int_michael_list(); } void IntrusiveHashSetHdrTest::split_dyn_RCU_GPI_base_less() @@ -54,7 +54,7 @@ namespace set { > set; static_assert( set::traits::dynamic_bucket_table, "Set has static bucket table" ); - test_rcu_int(); + test_rcu_int_michael_list(); } void IntrusiveHashSetHdrTest::split_dyn_RCU_GPI_base_cmpmix() @@ -79,7 +79,7 @@ namespace set { > set; static_assert( set::traits::dynamic_bucket_table, "Set has static bucket table" ); - test_rcu_int(); + test_rcu_int_michael_list(); } void IntrusiveHashSetHdrTest::split_dyn_RCU_GPI_member_cmp() @@ -104,7 +104,7 @@ namespace set { > set; static_assert( set::traits::dynamic_bucket_table, "Set has static bucket table" ); - test_rcu_int(); + test_rcu_int_michael_list(); } void IntrusiveHashSetHdrTest::split_dyn_RCU_GPI_member_less() @@ -130,7 +130,7 @@ namespace set { > set; static_assert( set::traits::dynamic_bucket_table, "Set has static bucket table" ); - test_rcu_int(); + test_rcu_int_michael_list(); } void IntrusiveHashSetHdrTest::split_dyn_RCU_GPI_member_cmpmix() @@ -158,7 +158,7 @@ namespace set { > set; static_assert( set::traits::dynamic_bucket_table, "Set has static bucket table" ); - test_rcu_int(); + test_rcu_int_michael_list(); } @@ -184,7 +184,7 @@ namespace set { > set; static_assert( !set::traits::dynamic_bucket_table, "Set has dynamic bucket table" ); - test_rcu_int(); + test_rcu_int_michael_list(); } void IntrusiveHashSetHdrTest::split_st_RCU_GPI_base_less() @@ -208,7 +208,7 @@ namespace set { > set; static_assert( !set::traits::dynamic_bucket_table, "Set has dynamic bucket table" ); - test_rcu_int(); + test_rcu_int_michael_list(); } void IntrusiveHashSetHdrTest::split_st_RCU_GPI_base_cmpmix() @@ -233,7 +233,7 @@ namespace set { > set; static_assert( !set::traits::dynamic_bucket_table, "Set has dynamic bucket table" ); - test_rcu_int(); + test_rcu_int_michael_list(); } void IntrusiveHashSetHdrTest::split_st_RCU_GPI_member_cmp() @@ -260,7 +260,7 @@ namespace set { > set; static_assert( !set::traits::dynamic_bucket_table, "Set has dynamic bucket table" ); - test_rcu_int(); + test_rcu_int_michael_list(); } void IntrusiveHashSetHdrTest::split_st_RCU_GPI_member_less() @@ -287,7 +287,7 @@ namespace set { > set; static_assert( !set::traits::dynamic_bucket_table, "Set has dynamic bucket table" ); - test_rcu_int(); + test_rcu_int_michael_list(); } void IntrusiveHashSetHdrTest::split_st_RCU_GPI_member_cmpmix() @@ -315,7 +315,7 @@ namespace set { > set; static_assert( !set::traits::dynamic_bucket_table, "Set has dynamic bucket table" ); - test_rcu_int(); + test_rcu_int_michael_list(); } void IntrusiveHashSetHdrTest::split_dyn_RCU_GPI_base_cmpmix_stat() @@ -340,7 +340,7 @@ namespace set { static_assert( set::traits::dynamic_bucket_table, "Set has static bucket table" ); - test_rcu_int(); + test_rcu_int_michael_list(); } void IntrusiveHashSetHdrTest::split_dyn_RCU_GPI_member_cmpmix_stat() @@ -370,7 +370,7 @@ namespace set { typedef ci::SplitListSet< rcu_type, ord_list, set_traits > set; static_assert( set::traits::dynamic_bucket_table, "Set has static bucket table" ); - test_rcu_int(); + test_rcu_int_michael_list(); } void IntrusiveHashSetHdrTest::split_st_RCU_GPI_base_cmpmix_stat() @@ -396,7 +396,7 @@ namespace set { > set; static_assert( !set::traits::dynamic_bucket_table, "Set has dynamic bucket table" ); - test_rcu_int(); + test_rcu_int_michael_list(); } void IntrusiveHashSetHdrTest::split_st_RCU_GPI_member_cmpmix_stat() @@ -425,7 +425,7 @@ namespace set { > set; static_assert( !set::traits::dynamic_bucket_table, "Set has dynamic bucket table" ); - test_rcu_int(); + test_rcu_int_michael_list(); } diff --git a/tests/test-hdr/set/hdr_intrusive_splitlist_set_rcu_gpt.cpp b/tests/test-hdr/set/hdr_intrusive_splitlist_set_rcu_gpt.cpp index 75e9dac4..a685de24 100644 --- a/tests/test-hdr/set/hdr_intrusive_splitlist_set_rcu_gpt.cpp +++ b/tests/test-hdr/set/hdr_intrusive_splitlist_set_rcu_gpt.cpp @@ -31,7 +31,7 @@ namespace set { > set; static_assert( set::traits::dynamic_bucket_table, "Set has static bucket table" ); - test_rcu_int(); + test_rcu_int_michael_list(); } void IntrusiveHashSetHdrTest::split_dyn_RCU_GPT_base_less() @@ -54,7 +54,7 @@ namespace set { > set; static_assert( set::traits::dynamic_bucket_table, "Set has static bucket table" ); - test_rcu_int(); + test_rcu_int_michael_list(); } void IntrusiveHashSetHdrTest::split_dyn_RCU_GPT_base_cmpmix() @@ -79,7 +79,7 @@ namespace set { > set; static_assert( set::traits::dynamic_bucket_table, "Set has static bucket table" ); - test_rcu_int(); + test_rcu_int_michael_list(); } void IntrusiveHashSetHdrTest::split_dyn_RCU_GPT_member_cmp() @@ -104,7 +104,7 @@ namespace set { > set; static_assert( set::traits::dynamic_bucket_table, "Set has static bucket table" ); - test_rcu_int(); + test_rcu_int_michael_list(); } void IntrusiveHashSetHdrTest::split_dyn_RCU_GPT_member_less() @@ -130,7 +130,7 @@ namespace set { > set; static_assert( set::traits::dynamic_bucket_table, "Set has static bucket table" ); - test_rcu_int(); + test_rcu_int_michael_list(); } void IntrusiveHashSetHdrTest::split_dyn_RCU_GPT_member_cmpmix() @@ -158,7 +158,7 @@ namespace set { > set; static_assert( set::traits::dynamic_bucket_table, "Set has static bucket table" ); - test_rcu_int(); + test_rcu_int_michael_list(); } @@ -184,7 +184,7 @@ namespace set { > set; static_assert( !set::traits::dynamic_bucket_table, "Set has dynamic bucket table" ); - test_rcu_int(); + test_rcu_int_michael_list(); } void IntrusiveHashSetHdrTest::split_st_RCU_GPT_base_less() @@ -208,7 +208,7 @@ namespace set { > set; static_assert( !set::traits::dynamic_bucket_table, "Set has dynamic bucket table" ); - test_rcu_int(); + test_rcu_int_michael_list(); } void IntrusiveHashSetHdrTest::split_st_RCU_GPT_base_cmpmix() @@ -233,7 +233,7 @@ namespace set { > set; static_assert( !set::traits::dynamic_bucket_table, "Set has dynamic bucket table" ); - test_rcu_int(); + test_rcu_int_michael_list(); } void IntrusiveHashSetHdrTest::split_st_RCU_GPT_member_cmp() @@ -260,7 +260,7 @@ namespace set { > set; static_assert( !set::traits::dynamic_bucket_table, "Set has dynamic bucket table" ); - test_rcu_int(); + test_rcu_int_michael_list(); } void IntrusiveHashSetHdrTest::split_st_RCU_GPT_member_less() @@ -287,7 +287,7 @@ namespace set { > set; static_assert( !set::traits::dynamic_bucket_table, "Set has dynamic bucket table" ); - test_rcu_int(); + test_rcu_int_michael_list(); } void IntrusiveHashSetHdrTest::split_st_RCU_GPT_member_cmpmix() @@ -315,7 +315,7 @@ namespace set { > set; static_assert( !set::traits::dynamic_bucket_table, "Set has dynamic bucket table" ); - test_rcu_int(); + test_rcu_int_michael_list(); } void IntrusiveHashSetHdrTest::split_dyn_RCU_GPT_base_cmpmix_stat() @@ -340,7 +340,7 @@ namespace set { static_assert( set::traits::dynamic_bucket_table, "Set has static bucket table" ); - test_rcu_int(); + test_rcu_int_michael_list(); } void IntrusiveHashSetHdrTest::split_dyn_RCU_GPT_member_cmpmix_stat() @@ -370,7 +370,7 @@ namespace set { typedef ci::SplitListSet< rcu_type, ord_list, set_traits > set; static_assert( set::traits::dynamic_bucket_table, "Set has static bucket table" ); - test_rcu_int(); + test_rcu_int_michael_list(); } void IntrusiveHashSetHdrTest::split_st_RCU_GPT_base_cmpmix_stat() @@ -396,7 +396,7 @@ namespace set { > set; static_assert( !set::traits::dynamic_bucket_table, "Set has dynamic bucket table" ); - test_rcu_int(); + test_rcu_int_michael_list(); } void IntrusiveHashSetHdrTest::split_st_RCU_GPT_member_cmpmix_stat() @@ -425,7 +425,7 @@ namespace set { > set; static_assert( !set::traits::dynamic_bucket_table, "Set has dynamic bucket table" ); - test_rcu_int(); + test_rcu_int_michael_list(); } diff --git a/tests/test-hdr/set/hdr_intrusive_splitlist_set_rcu_shb.cpp b/tests/test-hdr/set/hdr_intrusive_splitlist_set_rcu_shb.cpp index 8701d273..9fac59fa 100644 --- a/tests/test-hdr/set/hdr_intrusive_splitlist_set_rcu_shb.cpp +++ b/tests/test-hdr/set/hdr_intrusive_splitlist_set_rcu_shb.cpp @@ -34,7 +34,7 @@ namespace set { > set; static_assert( set::traits::dynamic_bucket_table, "Set has static bucket table" ); - test_rcu_int(); + test_rcu_int_michael_list(); #endif } @@ -59,7 +59,7 @@ namespace set { > set; static_assert( set::traits::dynamic_bucket_table, "Set has static bucket table" ); - test_rcu_int(); + test_rcu_int_michael_list(); #endif } @@ -86,7 +86,7 @@ namespace set { > set; static_assert( set::traits::dynamic_bucket_table, "Set has static bucket table" ); - test_rcu_int(); + test_rcu_int_michael_list(); #endif } @@ -113,7 +113,7 @@ namespace set { > set; static_assert( set::traits::dynamic_bucket_table, "Set has static bucket table" ); - test_rcu_int(); + test_rcu_int_michael_list(); #endif } @@ -141,7 +141,7 @@ namespace set { > set; static_assert( set::traits::dynamic_bucket_table, "Set has static bucket table" ); - test_rcu_int(); + test_rcu_int_michael_list(); #endif } @@ -171,7 +171,7 @@ namespace set { > set; static_assert( set::traits::dynamic_bucket_table, "Set has static bucket table" ); - test_rcu_int(); + test_rcu_int_michael_list(); #endif } @@ -199,7 +199,7 @@ namespace set { > set; static_assert( !set::traits::dynamic_bucket_table, "Set has dynamic bucket table" ); - test_rcu_int(); + test_rcu_int_michael_list(); #endif } @@ -225,7 +225,7 @@ namespace set { > set; static_assert( !set::traits::dynamic_bucket_table, "Set has dynamic bucket table" ); - test_rcu_int(); + test_rcu_int_michael_list(); #endif } @@ -252,7 +252,7 @@ namespace set { > set; static_assert( !set::traits::dynamic_bucket_table, "Set has dynamic bucket table" ); - test_rcu_int(); + test_rcu_int_michael_list(); #endif } @@ -281,7 +281,7 @@ namespace set { > set; static_assert( !set::traits::dynamic_bucket_table, "Set has dynamic bucket table" ); - test_rcu_int(); + test_rcu_int_michael_list(); #endif } @@ -310,7 +310,7 @@ namespace set { > set; static_assert( !set::traits::dynamic_bucket_table, "Set has dynamic bucket table" ); - test_rcu_int(); + test_rcu_int_michael_list(); #endif } @@ -340,7 +340,7 @@ namespace set { > set; static_assert( !set::traits::dynamic_bucket_table, "Set has dynamic bucket table" ); - test_rcu_int(); + test_rcu_int_michael_list(); #endif } @@ -367,7 +367,7 @@ namespace set { static_assert( set::traits::dynamic_bucket_table, "Set has static bucket table" ); - test_rcu_int(); + test_rcu_int_michael_list(); #endif } @@ -399,7 +399,7 @@ namespace set { typedef ci::SplitListSet< rcu_type, ord_list, set_traits > set; static_assert( set::traits::dynamic_bucket_table, "Set has static bucket table" ); - test_rcu_int(); + test_rcu_int_michael_list(); #endif } @@ -427,7 +427,7 @@ namespace set { > set; static_assert( !set::traits::dynamic_bucket_table, "Set has dynamic bucket table" ); - test_rcu_int(); + test_rcu_int_michael_list(); #endif } @@ -458,7 +458,7 @@ namespace set { > set; static_assert( !set::traits::dynamic_bucket_table, "Set has dynamic bucket table" ); - test_rcu_int(); + test_rcu_int_michael_list(); #endif } diff --git a/tests/test-hdr/set/hdr_intrusive_splitlist_set_rcu_sht.cpp b/tests/test-hdr/set/hdr_intrusive_splitlist_set_rcu_sht.cpp index 8bf2323d..3cae52fb 100644 --- a/tests/test-hdr/set/hdr_intrusive_splitlist_set_rcu_sht.cpp +++ b/tests/test-hdr/set/hdr_intrusive_splitlist_set_rcu_sht.cpp @@ -34,7 +34,7 @@ namespace set { > set; static_assert( set::traits::dynamic_bucket_table, "Set has static bucket table" ); - test_rcu_int(); + test_rcu_int_michael_list(); #endif } @@ -59,7 +59,7 @@ namespace set { > set; static_assert( set::traits::dynamic_bucket_table, "Set has static bucket table" ); - test_rcu_int(); + test_rcu_int_michael_list(); #endif } @@ -86,7 +86,7 @@ namespace set { > set; static_assert( set::traits::dynamic_bucket_table, "Set has static bucket table" ); - test_rcu_int(); + test_rcu_int_michael_list(); #endif } @@ -113,7 +113,7 @@ namespace set { > set; static_assert( set::traits::dynamic_bucket_table, "Set has static bucket table" ); - test_rcu_int(); + test_rcu_int_michael_list(); #endif } @@ -141,7 +141,7 @@ namespace set { > set; static_assert( set::traits::dynamic_bucket_table, "Set has static bucket table" ); - test_rcu_int(); + test_rcu_int_michael_list(); #endif } @@ -171,7 +171,7 @@ namespace set { > set; static_assert( set::traits::dynamic_bucket_table, "Set has static bucket table" ); - test_rcu_int(); + test_rcu_int_michael_list(); #endif } @@ -199,7 +199,7 @@ namespace set { > set; static_assert( !set::traits::dynamic_bucket_table, "Set has dynamic bucket table" ); - test_rcu_int(); + test_rcu_int_michael_list(); #endif } @@ -225,7 +225,7 @@ namespace set { > set; static_assert( !set::traits::dynamic_bucket_table, "Set has dynamic bucket table" ); - test_rcu_int(); + test_rcu_int_michael_list(); #endif } @@ -252,7 +252,7 @@ namespace set { > set; static_assert( !set::traits::dynamic_bucket_table, "Set has dynamic bucket table" ); - test_rcu_int(); + test_rcu_int_michael_list(); #endif } @@ -281,7 +281,7 @@ namespace set { > set; static_assert( !set::traits::dynamic_bucket_table, "Set has dynamic bucket table" ); - test_rcu_int(); + test_rcu_int_michael_list(); #endif } @@ -310,7 +310,7 @@ namespace set { > set; static_assert( !set::traits::dynamic_bucket_table, "Set has dynamic bucket table" ); - test_rcu_int(); + test_rcu_int_michael_list(); #endif } @@ -340,7 +340,7 @@ namespace set { > set; static_assert( !set::traits::dynamic_bucket_table, "Set has dynamic bucket table" ); - test_rcu_int(); + test_rcu_int_michael_list(); #endif } @@ -367,7 +367,7 @@ namespace set { static_assert( set::traits::dynamic_bucket_table, "Set has static bucket table" ); - test_rcu_int(); + test_rcu_int_michael_list(); #endif } @@ -399,7 +399,7 @@ namespace set { typedef ci::SplitListSet< rcu_type, ord_list, set_traits > set; static_assert( set::traits::dynamic_bucket_table, "Set has static bucket table" ); - test_rcu_int(); + test_rcu_int_michael_list(); #endif } @@ -427,7 +427,7 @@ namespace set { > set; static_assert( !set::traits::dynamic_bucket_table, "Set has dynamic bucket table" ); - test_rcu_int(); + test_rcu_int_michael_list(); #endif } @@ -458,7 +458,7 @@ namespace set { > set; static_assert( !set::traits::dynamic_bucket_table, "Set has dynamic bucket table" ); - test_rcu_int(); + test_rcu_int_michael_list(); #endif } diff --git a/tests/test-hdr/set/hdr_splitlist_set_rcu_gpb.cpp b/tests/test-hdr/set/hdr_splitlist_set_rcu_gpb.cpp index ff2b132d..e384466a 100644 --- a/tests/test-hdr/set/hdr_splitlist_set_rcu_gpb.cpp +++ b/tests/test-hdr/set/hdr_splitlist_set_rcu_gpb.cpp @@ -63,7 +63,7 @@ namespace set { // traits-based version typedef cc::SplitListSet< rcu_type, item, RCU_GPB_cmp_traits > set; - test_int_rcu< set >(); + test_int_rcu_michael_list< set >(); // option-based version typedef cc::SplitListSet< rcu_type, item, @@ -80,7 +80,7 @@ namespace set { > >::type > opt_set; - test_int_rcu< opt_set >(); + test_int_rcu_michael_list< opt_set >(); } void HashSetHdrTest::Split_RCU_GPB_less() @@ -88,7 +88,7 @@ namespace set { // traits-based version typedef cc::SplitListSet< rcu_type, item, RCU_GPB_less_traits > set; - test_int_rcu< set >(); + test_int_rcu_michael_list< set >(); // option-based version typedef cc::SplitListSet< rcu_type, item, @@ -105,14 +105,14 @@ namespace set { > >::type > opt_set; - test_int_rcu< opt_set >(); + test_int_rcu_michael_list< opt_set >(); } void HashSetHdrTest::Split_RCU_GPB_cmpmix() { // traits-based version typedef cc::SplitListSet< rcu_type, item, RCU_cmpmix_traits > set; - test_int_rcu< set >(); + test_int_rcu_michael_list< set >(); // option-based version typedef cc::SplitListSet< rcu_type, item, @@ -128,14 +128,14 @@ namespace set { > >::type > opt_set; - test_int_rcu< opt_set >(); + test_int_rcu_michael_list< opt_set >(); } void HashSetHdrTest::Split_RCU_GPB_cmpmix_stat() { // traits-based version typedef cc::SplitListSet< rcu_type, item, RCU_cmpmix_stat_traits > set; - test_int_rcu< set >(); + test_int_rcu_michael_list< set >(); // option-based version typedef cc::SplitListSet< rcu_type, item, @@ -152,7 +152,7 @@ namespace set { , cc::opt::stat< cc::split_list::stat<>> >::type > opt_set; - test_int_rcu< opt_set >(); + test_int_rcu_michael_list< opt_set >(); } } // namespace set diff --git a/tests/test-hdr/set/hdr_splitlist_set_rcu_gpi.cpp b/tests/test-hdr/set/hdr_splitlist_set_rcu_gpi.cpp index 5f260c2b..1ef3adf0 100644 --- a/tests/test-hdr/set/hdr_splitlist_set_rcu_gpi.cpp +++ b/tests/test-hdr/set/hdr_splitlist_set_rcu_gpi.cpp @@ -62,7 +62,7 @@ namespace set { // traits-based version typedef cc::SplitListSet< rcu_type, item, RCU_GPI_cmp_traits > set; - test_int_rcu< set >(); + test_int_rcu_michael_list< set >(); // option-based version typedef cc::SplitListSet< rcu_type, item, @@ -79,7 +79,7 @@ namespace set { > >::type > opt_set; - test_int_rcu< opt_set >(); + test_int_rcu_michael_list< opt_set >(); } void HashSetHdrTest::Split_RCU_GPI_less() @@ -87,7 +87,7 @@ namespace set { // traits-based version typedef cc::SplitListSet< rcu_type, item, RCU_GPI_less_traits > set; - test_int_rcu< set >(); + test_int_rcu_michael_list< set >(); // option-based version typedef cc::SplitListSet< rcu_type, item, @@ -104,14 +104,14 @@ namespace set { > >::type > opt_set; - test_int_rcu< opt_set >(); + test_int_rcu_michael_list< opt_set >(); } void HashSetHdrTest::Split_RCU_GPI_cmpmix() { // traits-based version typedef cc::SplitListSet< rcu_type, item, RCU_cmpmix_traits > set; - test_int_rcu< set >(); + test_int_rcu_michael_list< set >(); // option-based version typedef cc::SplitListSet< rcu_type, item, @@ -127,14 +127,14 @@ namespace set { > >::type > opt_set; - test_int_rcu< opt_set >(); + test_int_rcu_michael_list< opt_set >(); } void HashSetHdrTest::Split_RCU_GPI_cmpmix_stat() { // traits-based version typedef cc::SplitListSet< rcu_type, item, RCU_cmpmix_stat_traits > set; - test_int_rcu< set >(); + test_int_rcu_michael_list< set >(); // option-based version typedef cc::SplitListSet< rcu_type, item, @@ -151,7 +151,7 @@ namespace set { > >::type > opt_set; - test_int_rcu< opt_set >(); + test_int_rcu_michael_list< opt_set >(); } } // namespace set diff --git a/tests/test-hdr/set/hdr_splitlist_set_rcu_gpt.cpp b/tests/test-hdr/set/hdr_splitlist_set_rcu_gpt.cpp index dba22368..8530136a 100644 --- a/tests/test-hdr/set/hdr_splitlist_set_rcu_gpt.cpp +++ b/tests/test-hdr/set/hdr_splitlist_set_rcu_gpt.cpp @@ -63,7 +63,7 @@ namespace set { // traits-based version typedef cc::SplitListSet< rcu_type, item, RCU_GPT_cmp_traits > set; - test_int_rcu< set >(); + test_int_rcu_michael_list< set >(); // option-based version typedef cc::SplitListSet< rcu_type, item, @@ -80,7 +80,7 @@ namespace set { > >::type > opt_set; - test_int_rcu< opt_set >(); + test_int_rcu_michael_list< opt_set >(); } void HashSetHdrTest::Split_RCU_GPT_less() @@ -88,7 +88,7 @@ namespace set { // traits-based version typedef cc::SplitListSet< rcu_type, item, RCU_GPT_less_traits > set; - test_int_rcu< set >(); + test_int_rcu_michael_list< set >(); // option-based version typedef cc::SplitListSet< rcu_type, item, @@ -105,14 +105,14 @@ namespace set { > >::type > opt_set; - test_int_rcu< opt_set >(); + test_int_rcu_michael_list< opt_set >(); } void HashSetHdrTest::Split_RCU_GPT_cmpmix() { // traits-based version typedef cc::SplitListSet< rcu_type, item, RCU_cmpmix_traits > set; - test_int_rcu< set >(); + test_int_rcu_michael_list< set >(); // option-based version typedef cc::SplitListSet< rcu_type, item, @@ -128,14 +128,14 @@ namespace set { > >::type > opt_set; - test_int_rcu< opt_set >(); + test_int_rcu_michael_list< opt_set >(); } void HashSetHdrTest::Split_RCU_GPT_cmpmix_stat() { // traits-based version typedef cc::SplitListSet< rcu_type, item, RCU_cmpmix_stat_traits > set; - test_int_rcu< set >(); + test_int_rcu_michael_list< set >(); // option-based version typedef cc::SplitListSet< rcu_type, item, @@ -152,7 +152,7 @@ namespace set { > >::type > opt_set; - test_int_rcu< opt_set >(); + test_int_rcu_michael_list< opt_set >(); } } // namespace set diff --git a/tests/test-hdr/set/hdr_splitlist_set_rcu_shb.cpp b/tests/test-hdr/set/hdr_splitlist_set_rcu_shb.cpp index 2d0cf6c3..378c2938 100644 --- a/tests/test-hdr/set/hdr_splitlist_set_rcu_shb.cpp +++ b/tests/test-hdr/set/hdr_splitlist_set_rcu_shb.cpp @@ -66,7 +66,7 @@ namespace set { // traits-based version typedef cc::SplitListSet< rcu_type, item, RCU_SHB_cmp_traits > set; - test_int_rcu< set >(); + test_int_rcu_michael_list< set >(); // option-based version typedef cc::SplitListSet< rcu_type, item, @@ -83,7 +83,7 @@ namespace set { > >::type > opt_set; - test_int_rcu< opt_set >(); + test_int_rcu_michael_list< opt_set >(); #endif } @@ -93,7 +93,7 @@ namespace set { // traits-based version typedef cc::SplitListSet< rcu_type, item, RCU_SHB_less_traits > set; - test_int_rcu< set >(); + test_int_rcu_michael_list< set >(); // option-based version typedef cc::SplitListSet< rcu_type, item, @@ -110,7 +110,7 @@ namespace set { > >::type > opt_set; - test_int_rcu< opt_set >(); + test_int_rcu_michael_list< opt_set >(); #endif } @@ -119,7 +119,7 @@ namespace set { #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED // traits-based version typedef cc::SplitListSet< rcu_type, item, RCU_cmpmix_traits > set; - test_int_rcu< set >(); + test_int_rcu_michael_list< set >(); // option-based version typedef cc::SplitListSet< rcu_type, item, @@ -135,7 +135,7 @@ namespace set { > >::type > opt_set; - test_int_rcu< opt_set >(); + test_int_rcu_michael_list< opt_set >(); #endif } @@ -144,7 +144,7 @@ namespace set { #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED // traits-based version typedef cc::SplitListSet< rcu_type, item, RCU_cmpmix_stat_traits > set; - test_int_rcu< set >(); + test_int_rcu_michael_list< set >(); // option-based version typedef cc::SplitListSet< rcu_type, item, @@ -161,7 +161,7 @@ namespace set { ,cc::opt::stat< cc::split_list::stat<>> >::type > opt_set; - test_int_rcu< opt_set >(); + test_int_rcu_michael_list< opt_set >(); #endif } diff --git a/tests/test-hdr/set/hdr_splitlist_set_rcu_sht.cpp b/tests/test-hdr/set/hdr_splitlist_set_rcu_sht.cpp index 62330bf6..cc83c676 100644 --- a/tests/test-hdr/set/hdr_splitlist_set_rcu_sht.cpp +++ b/tests/test-hdr/set/hdr_splitlist_set_rcu_sht.cpp @@ -66,7 +66,7 @@ namespace set { // traits-based version typedef cc::SplitListSet< rcu_type, item, RCU_SHT_cmp_traits > set; - test_int_rcu< set >(); + test_int_rcu_michael_list< set >(); // option-based version typedef cc::SplitListSet< rcu_type, item, @@ -83,7 +83,7 @@ namespace set { > >::type > opt_set; - test_int_rcu< opt_set >(); + test_int_rcu_michael_list< opt_set >(); #endif } @@ -93,7 +93,7 @@ namespace set { // traits-based version typedef cc::SplitListSet< rcu_type, item, RCU_SHT_less_traits > set; - test_int_rcu< set >(); + test_int_rcu_michael_list< set >(); // option-based version typedef cc::SplitListSet< rcu_type, item, @@ -110,7 +110,7 @@ namespace set { > >::type > opt_set; - test_int_rcu< opt_set >(); + test_int_rcu_michael_list< opt_set >(); #endif } @@ -119,7 +119,7 @@ namespace set { #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED // traits-based version typedef cc::SplitListSet< rcu_type, item, RCU_cmpmix_traits > set; - test_int_rcu< set >(); + test_int_rcu_michael_list< set >(); // option-based version typedef cc::SplitListSet< rcu_type, item, @@ -135,7 +135,7 @@ namespace set { > >::type > opt_set; - test_int_rcu< opt_set >(); + test_int_rcu_michael_list< opt_set >(); #endif } @@ -144,7 +144,7 @@ namespace set { #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED // traits-based version typedef cc::SplitListSet< rcu_type, item, RCU_cmpmix_stat_traits > set; - test_int_rcu< set >(); + test_int_rcu_michael_list< set >(); // option-based version typedef cc::SplitListSet< rcu_type, item, @@ -161,7 +161,7 @@ namespace set { > >::type > opt_set; - test_int_rcu< opt_set >(); + test_int_rcu_michael_list< opt_set >(); #endif } -- 2.34.1