From 6912d51a86c80e0a830a788de0581f524576916c Mon Sep 17 00:00:00 2001 From: khizmax Date: Sun, 19 Mar 2017 00:12:57 +0300 Subject: [PATCH] Removed signal_threaded uRCU --- cds/threading/details/_common.h | 3 - cds/threading/model.h | 6 - cds/urcu/details/base.h | 19 +- cds/urcu/details/sh_decl.h | 4 - cds/urcu/details/sig_threaded.h | 289 ------------------ cds/urcu/dispose_thread.h | 4 +- cds/urcu/signal_threaded.h | 212 ------------- change.log | 2 + projects/Win/vc14/cds.vcxproj | 2 - projects/Win/vc14/cds.vcxproj.filters | 6 - projects/Win/vc14/gtest-ilist-lazy.vcxproj | 1 - projects/Win/vc14/gtest-ilist-michael.vcxproj | 1 - projects/Win/vc14/gtest-iset-feldman.vcxproj | 1 - .../Win/vc14/gtest-iset-michael-lazy.vcxproj | 1 - projects/Win/vc14/gtest-iset-michael.vcxproj | 1 - projects/Win/vc14/gtest-iset-skip.vcxproj | 1 - .../Win/vc14/gtest-iset-split-lazy.vcxproj | 1 - .../Win/vc14/gtest-iset-split-michael.vcxproj | 1 - projects/Win/vc14/gtest-list-lazy.vcxproj | 2 - projects/Win/vc14/gtest-list-michael.vcxproj | 2 - projects/Win/vc14/gtest-map-feldman.vcxproj | 1 - .../Win/vc14/gtest-map-michael-lazy.vcxproj | 1 - projects/Win/vc14/gtest-map-michael.vcxproj | 1 - projects/Win/vc14/gtest-map-skip.vcxproj | 1 - .../Win/vc14/gtest-map-split-lazy.vcxproj | 1 - .../Win/vc14/gtest-map-split-michael.vcxproj | 1 - projects/Win/vc14/gtest-set-feldman.vcxproj | 1 - .../Win/vc14/gtest-set-michael-lazy.vcxproj | 1 - projects/Win/vc14/gtest-set-michael.vcxproj | 1 - projects/Win/vc14/gtest-set-skip.vcxproj | 1 - .../Win/vc14/gtest-set-split-lazy.vcxproj | 1 - .../Win/vc14/gtest-set-split-michael.vcxproj | 1 - projects/Win/vc14/gtest-tree-bronson.vcxproj | 2 - projects/Win/vc14/gtest-tree-ellen.vcxproj | 3 - .../Win/vc14/gtest-tree-ellen.vcxproj.filters | 9 - projects/Win/vc141/cds.vcxproj | 2 - projects/Win/vc141/cds.vcxproj.filters | 6 - projects/Win/vc141/gtest-ilist-lazy.vcxproj | 1 - .../Win/vc141/gtest-ilist-michael.vcxproj | 1 - projects/Win/vc141/gtest-iset-feldman.vcxproj | 1 - .../Win/vc141/gtest-iset-michael-lazy.vcxproj | 1 - projects/Win/vc141/gtest-iset-michael.vcxproj | 1 - projects/Win/vc141/gtest-iset-skip.vcxproj | 1 - .../Win/vc141/gtest-iset-split-lazy.vcxproj | 1 - .../vc141/gtest-iset-split-michael.vcxproj | 1 - projects/Win/vc141/gtest-list-lazy.vcxproj | 2 - projects/Win/vc141/gtest-list-michael.vcxproj | 2 - projects/Win/vc141/gtest-map-feldman.vcxproj | 1 - .../Win/vc141/gtest-map-michael-lazy.vcxproj | 1 - projects/Win/vc141/gtest-map-michael.vcxproj | 1 - projects/Win/vc141/gtest-map-skip.vcxproj | 1 - .../Win/vc141/gtest-map-split-lazy.vcxproj | 1 - .../Win/vc141/gtest-map-split-michael.vcxproj | 1 - projects/Win/vc141/gtest-set-feldman.vcxproj | 1 - .../Win/vc141/gtest-set-michael-lazy.vcxproj | 1 - projects/Win/vc141/gtest-set-michael.vcxproj | 1 - projects/Win/vc141/gtest-set-skip.vcxproj | 1 - .../Win/vc141/gtest-set-split-lazy.vcxproj | 1 - .../Win/vc141/gtest-set-split-michael.vcxproj | 1 - projects/Win/vc141/gtest-tree-bronson.vcxproj | 2 - projects/Win/vc141/gtest-tree-ellen.vcxproj | 3 - .../vc141/gtest-tree-ellen.vcxproj.filters | 9 - src/thread_data.cpp | 6 - src/urcu_sh.cpp | 13 - test/stress/main.cpp | 4 - test/stress/map/map_type.h | 2 - test/stress/map/map_type_bronson_avltree.h | 14 - test/stress/map/map_type_ellen_bintree.h | 26 -- test/stress/map/map_type_feldman_hashmap.h | 16 - test/stress/map/map_type_lazy_list.h | 6 - test/stress/map/map_type_michael.h | 12 - test/stress/map/map_type_michael_list.h | 6 - test/stress/map/map_type_skip_list.h | 18 -- test/stress/map/map_type_split_list.h | 15 - test/stress/pqueue/pop.cpp | 6 - test/stress/pqueue/pqueue_type.h | 10 - test/stress/pqueue/push.cpp | 6 - test/stress/pqueue/push_pop.cpp | 6 - test/stress/set/set_type.h | 2 - test/stress/set/set_type_ellen_bintree.h | 30 +- test/stress/set/set_type_feldman_hashset.h | 17 +- test/stress/set/set_type_lazy_list.h | 6 - test/stress/set/set_type_michael.h | 10 - test/stress/set/set_type_michael_list.h | 6 - test/stress/set/set_type_skip_list.h | 18 -- test/stress/set/set_type_split_list.h | 15 - test/unit/intrusive-list/CMakeLists.txt | 2 - .../intrusive-list/intrusive_lazy_rcu_sht.cpp | 47 --- .../intrusive_michael_rcu_sht.cpp | 47 --- test/unit/intrusive-set/CMakeLists.txt | 6 - .../intrusive_feldman_hashset_rcu_sht.cpp | 47 --- .../intrusive_michael_lazy_rcu_sht.cpp | 48 --- .../intrusive_michael_michael_rcu_sht.cpp | 46 --- .../intrusive_skiplist_rcu_sht.cpp | 47 --- .../intrusive_split_lazy_rcu_sht.cpp | 47 --- .../intrusive_split_michael_rcu_sht.cpp | 47 --- test/unit/list/CMakeLists.txt | 4 - test/unit/list/kv_lazy_rcu_sht.cpp | 46 --- test/unit/list/kv_michael_rcu_sht.cpp | 46 --- test/unit/list/lazy_rcu_sht.cpp | 46 --- test/unit/list/michael_rcu_sht.cpp | 46 --- test/unit/map/CMakeLists.txt | 6 - test/unit/map/feldman_hashset_rcu_sht.cpp | 47 --- test/unit/map/michael_lazy_rcu_sht.cpp | 47 --- test/unit/map/michael_michael_rcu_sht.cpp | 47 --- test/unit/map/skiplist_rcu_sht.cpp | 47 --- test/unit/map/split_lazy_rcu_sht.cpp | 47 --- test/unit/map/split_michael_rcu_sht.cpp | 47 --- test/unit/set/CMakeLists.txt | 6 - test/unit/set/feldman_hashset_rcu_sht.cpp | 47 --- test/unit/set/michael_lazy_rcu_sht.cpp | 47 --- test/unit/set/michael_michael_rcu_sht.cpp | 47 --- test/unit/set/skiplist_rcu_sht.cpp | 47 --- test/unit/set/split_lazy_rcu_sht.cpp | 47 --- test/unit/set/split_michael_rcu_sht.cpp | 47 --- test/unit/tree/CMakeLists.txt | 5 - .../tree/bronson_avltree_map_ptr_rcu_sht.cpp | 47 --- .../unit/tree/bronson_avltree_map_rcu_sht.cpp | 47 --- test/unit/tree/ellen_bintree_map_rcu_sht.cpp | 47 --- test/unit/tree/ellen_bintree_set_rcu_sht.cpp | 47 --- .../tree/intrusive_ellenbintree_rcu_sht.cpp | 47 --- 121 files changed, 7 insertions(+), 2282 deletions(-) delete mode 100644 cds/urcu/details/sig_threaded.h delete mode 100644 cds/urcu/signal_threaded.h delete mode 100644 test/unit/intrusive-list/intrusive_lazy_rcu_sht.cpp delete mode 100644 test/unit/intrusive-list/intrusive_michael_rcu_sht.cpp delete mode 100644 test/unit/intrusive-set/intrusive_feldman_hashset_rcu_sht.cpp delete mode 100644 test/unit/intrusive-set/intrusive_michael_lazy_rcu_sht.cpp delete mode 100644 test/unit/intrusive-set/intrusive_michael_michael_rcu_sht.cpp delete mode 100644 test/unit/intrusive-set/intrusive_skiplist_rcu_sht.cpp delete mode 100644 test/unit/intrusive-set/intrusive_split_lazy_rcu_sht.cpp delete mode 100644 test/unit/intrusive-set/intrusive_split_michael_rcu_sht.cpp delete mode 100644 test/unit/list/kv_lazy_rcu_sht.cpp delete mode 100644 test/unit/list/kv_michael_rcu_sht.cpp delete mode 100644 test/unit/list/lazy_rcu_sht.cpp delete mode 100644 test/unit/list/michael_rcu_sht.cpp delete mode 100644 test/unit/map/feldman_hashset_rcu_sht.cpp delete mode 100644 test/unit/map/michael_lazy_rcu_sht.cpp delete mode 100644 test/unit/map/michael_michael_rcu_sht.cpp delete mode 100644 test/unit/map/skiplist_rcu_sht.cpp delete mode 100644 test/unit/map/split_lazy_rcu_sht.cpp delete mode 100644 test/unit/map/split_michael_rcu_sht.cpp delete mode 100644 test/unit/set/feldman_hashset_rcu_sht.cpp delete mode 100644 test/unit/set/michael_lazy_rcu_sht.cpp delete mode 100644 test/unit/set/michael_michael_rcu_sht.cpp delete mode 100644 test/unit/set/skiplist_rcu_sht.cpp delete mode 100644 test/unit/set/split_lazy_rcu_sht.cpp delete mode 100644 test/unit/set/split_michael_rcu_sht.cpp delete mode 100644 test/unit/tree/bronson_avltree_map_ptr_rcu_sht.cpp delete mode 100644 test/unit/tree/bronson_avltree_map_rcu_sht.cpp delete mode 100644 test/unit/tree/ellen_bintree_map_rcu_sht.cpp delete mode 100644 test/unit/tree/ellen_bintree_set_rcu_sht.cpp delete mode 100644 test/unit/tree/intrusive_ellenbintree_rcu_sht.cpp diff --git a/cds/threading/details/_common.h b/cds/threading/details/_common.h index f8f05996..c06dcf43 100644 --- a/cds/threading/details/_common.h +++ b/cds/threading/details/_common.h @@ -136,7 +136,6 @@ namespace cds { cds::urcu::details::thread_data< cds::urcu::general_threaded_tag > * m_pGPTRCU; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED cds::urcu::details::thread_data< cds::urcu::signal_buffered_tag > * m_pSHBRCU; - cds::urcu::details::thread_data< cds::urcu::signal_threaded_tag > * m_pSHTRCU; #endif //@endcond @@ -162,7 +161,6 @@ namespace cds { , m_pGPTRCU( nullptr ) #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED , m_pSHBRCU( nullptr ) - , m_pSHTRCU( nullptr ) #endif , m_nFakeProcessorNumber( s_nLastUsedProcNo.fetch_add(1, atomics::memory_order_relaxed) % s_nProcCount ) , m_nAttachCount(0) @@ -175,7 +173,6 @@ namespace cds { assert( m_pGPTRCU == nullptr ); #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED assert( m_pSHBRCU == nullptr ); - assert( m_pSHTRCU == nullptr ); #endif } diff --git a/cds/threading/model.h b/cds/threading/model.h index 8182865f..0c572b10 100644 --- a/cds/threading/model.h +++ b/cds/threading/model.h @@ -69,12 +69,6 @@ namespace cds { namespace threading { ThreadData * p = Manager::thread_data(); return p ? p->m_pSHBRCU : nullptr; } - template<> - inline cds::urcu::details::thread_data * getRCU() - { - ThreadData * p = Manager::thread_data(); - return p ? p->m_pSHTRCU : nullptr; - } #endif static inline cds::algo::elimination::record& elimination_record() diff --git a/cds/urcu/details/base.h b/cds/urcu/details/base.h index ea910e31..4d9c28da 100644 --- a/cds/urcu/details/base.h +++ b/cds/urcu/details/base.h @@ -107,10 +107,8 @@ namespace cds { design, thus being appropriate for use within a general-purpose library, but it has relatively higher read-side overhead. The \p libcds contains several implementations of general-purpose %RCU: \ref general_instant, \ref general_buffered, \ref general_threaded. - - The signal-handling %RCU presents an implementation having low read-side overhead and + - \ref signal_buffered: the signal-handling %RCU presents an implementation having low read-side overhead and requiring only that the application give up one POSIX signal to %RCU update processing. - The \p libcds contains several implementations if signal-handling %RCU: \ref signal_buffered, - \ref signal_threaded. @note The signal-handled %RCU is defined only for UNIX-like systems, not for Windows. @@ -122,7 +120,6 @@ namespace cds { - \ref general_buffered - general purpose RCU with deferred (buffered) reclamation - \ref general_threaded - general purpose RCU with special reclamation thread - \ref signal_buffered - signal-handling RCU with deferred (buffered) reclamation - - \ref signal_threaded - signal-handling RCU with special reclamation thread You cannot create an object of any of those classes directly. Instead, you should use wrapper classes. @@ -140,8 +137,6 @@ namespace cds { include file - \ref cds_urcu_signal_buffered_gc "gc" - signal-handling RCU with deferred (buffered) reclamation include file - - \ref cds_urcu_signal_threaded_gc "gc" - signal-handling RCU with special reclamation thread - include file Any RCU-related container in \p libcds expects that its \p RCU template parameter is one of those wrapper. @@ -152,7 +147,6 @@ namespace cds { - \ref general_buffered_tag - for \ref general_buffered - \ref general_threaded_tag - for \ref general_threaded - \ref signal_buffered_tag - for \ref signal_buffered - - \ref signal_threaded_tag - for \ref signal_threaded @anchor cds_urcu_performance Performance @@ -162,7 +156,6 @@ namespace cds { - gc - high - gc - gc - - gc - gc - low This estimation is very rough and depends on many factors: @@ -179,11 +172,6 @@ namespace cds { with different template arguments is an error and is not supported. However, it is correct when your RCU objects relates to different RCU types. - @note If you want to use \p %signal_buffered and \p %signal_threaded RCU in your application simultaneously, - you should specify different signal number for each signal-handled RCU type on construction time, - for example, \p SIGUSR1 and \p SIGUSR2 respectively. By default, both signal-handled RCU implementation - share \p SIGUSR1 signal and cannot be applied together. - In \p libcds, many GC-based ordered list, set and map template classes have %RCU-related specializations that hide the %RCU specific details. @@ -274,11 +262,6 @@ namespace cds { struct signal_buffered_tag: public signal_handling_rcu { typedef signal_handling_rcu rcu_class ; ///< The URCU type }; - - /// Tag for signal_threaded URCU - struct signal_threaded_tag: public signal_handling_rcu { - typedef signal_handling_rcu rcu_class ; ///< The URCU type - }; # endif ///@anchor cds_urcu_retired_ptr Retired pointer, i.e. pointer that ready for reclamation diff --git a/cds/urcu/details/sh_decl.h b/cds/urcu/details/sh_decl.h index f0fe6ad3..0d9371d3 100644 --- a/cds/urcu/details/sh_decl.h +++ b/cds/urcu/details/sh_decl.h @@ -56,7 +56,6 @@ namespace cds { namespace urcu { namespace details { } CDS_SHURCU_DECLARE_THREAD_DATA( signal_buffered_tag ); - CDS_SHURCU_DECLARE_THREAD_DATA( signal_threaded_tag ); # undef CDS_SHURCU_DECLARE_THREAD_DATA @@ -67,7 +66,6 @@ namespace cds { namespace urcu { namespace details { }; #if CDS_COMPILER != CDS_COMPILER_MSVC template<> CDS_EXPORT_API singleton_vtbl * sh_singleton_instance< signal_buffered_tag >::s_pRCU; - template<> CDS_EXPORT_API singleton_vtbl * sh_singleton_instance< signal_threaded_tag >::s_pRCU; #endif template @@ -117,7 +115,6 @@ namespace cds { namespace urcu { namespace details { # define CDS_SH_RCU_DECLARE_THREAD_GC( tag_ ) template <> class thread_gc: public sh_thread_gc {} CDS_SH_RCU_DECLARE_THREAD_GC( signal_buffered_tag ); - CDS_SH_RCU_DECLARE_THREAD_GC( signal_threaded_tag ); # undef CDS_SH_RCU_DECLARE_THREAD_GC @@ -222,7 +219,6 @@ namespace cds { namespace urcu { namespace details { } CDS_SIGRCU_DECLARE_SINGLETON( signal_buffered_tag ); - CDS_SIGRCU_DECLARE_SINGLETON( signal_threaded_tag ); # undef CDS_SIGRCU_DECLARE_SINGLETON diff --git a/cds/urcu/details/sig_threaded.h b/cds/urcu/details/sig_threaded.h deleted file mode 100644 index bac724b3..00000000 --- a/cds/urcu/details/sig_threaded.h +++ /dev/null @@ -1,289 +0,0 @@ -/* - This file is a part of libcds - Concurrent Data Structures library - - (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017 - - Source code repo: http://github.com/khizmax/libcds/ - Download: http://sourceforge.net/projects/libcds/files/ - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#ifndef CDSLIB_URCU_DETAILS_SIG_THREADED_H -#define CDSLIB_URCU_DETAILS_SIG_THREADED_H - -#include -#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED - -#include //unique_lock -#include -#include -#include -#include - -namespace cds { namespace urcu { - - /// User-space signal-handled RCU with deferred threaded reclamation - /** - @headerfile cds/urcu/signal_threaded.h - - This implementation is similar to \ref signal_buffered but separate thread is created - for deleting the retired objects. Like \p %signal_buffered, the class contains an internal buffer - where retired objects are accumulated. When the buffer becomes full, - the RCU \p synchronize function is called that waits until all reader/updater threads end up their read-side critical sections, - i.e. until the RCU quiescent state will come. After that the "work ready" message is sent to reclamation thread. - The reclamation thread frees the buffer. - This synchronization cycle may be called in any thread that calls \ref retire_ptr function. - - There is a wrapper \ref cds_urcu_signal_threaded_gc "gc" for \p %signal_threaded class - that provides unified RCU interface. You should use this wrapper class instead \p %signal_threaded - - Template arguments: - - \p Buffer - buffer type with FIFO semantics. Default is \p cds::container::VyukovMPSCCycleQueue. See \ref signal_buffered - for description of buffer's interface. The buffer contains the objects of \ref epoch_retired_ptr - type that contains additional \p m_nEpoch field. This field specifies an epoch when the object - has been placed into the buffer. The \p %signal_threaded object has a global epoch counter - that is incremented on each \p synchronize() call. The epoch is used internally to prevent early deletion. - - \p Lock - mutex type, default is \p std::mutex - - \p DisposerThread - the reclamation thread class. Default is \ref cds::urcu::dispose_thread, - see the description of this class for required interface. - - \p Backoff - back-off schema, default is cds::backoff::Default - */ - template < - class Buffer = cds::container::VyukovMPSCCycleQueue< epoch_retired_ptr > - ,class Lock = std::mutex - ,class DisposerThread = dispose_thread - ,class Backoff = cds::backoff::Default - > - class signal_threaded: public details::sh_singleton< signal_threaded_tag > - { - //@cond - typedef details::sh_singleton< signal_threaded_tag > base_class; - //@endcond - public: - typedef Buffer buffer_type ; ///< Buffer type - typedef Lock lock_type ; ///< Lock type - typedef Backoff back_off ; ///< Back-off scheme - typedef DisposerThread disposer_thread ; ///< Disposer thread type - - typedef signal_threaded_tag rcu_tag ; ///< Thread-side RCU part - typedef base_class::thread_gc thread_gc ; ///< Access lock class - typedef typename thread_gc::scoped_lock scoped_lock ; ///< Access lock class - - static bool const c_bBuffered = true ; ///< This RCU buffers disposed elements - - protected: - //@cond - typedef details::sh_singleton_instance< rcu_tag > singleton_ptr; - - struct scoped_disposer { - void operator ()( signal_threaded * p ) - { - delete p; - } - }; - //@endcond - - protected: - //@cond - buffer_type m_Buffer; - atomics::atomic m_nCurEpoch; - lock_type m_Lock; - size_t const m_nCapacity; - disposer_thread m_DisposerThread; - //@endcond - - public: - /// Returns singleton instance - static signal_threaded * instance() - { - return static_cast( base_class::instance()); - } - /// Checks if the singleton is created and ready to use - static bool isUsed() - { - return singleton_ptr::s_pRCU != nullptr; - } - - protected: - //@cond - signal_threaded( size_t nBufferCapacity, int nSignal = SIGUSR1 ) - : base_class( nSignal ) - , m_Buffer( nBufferCapacity ) - , m_nCurEpoch( 1 ) - , m_nCapacity( nBufferCapacity ) - {} - - // Return: true - synchronize has been called, false - otherwise - bool push_buffer( epoch_retired_ptr&& p ) - { - bool bPushed = m_Buffer.push( p ); - if ( !bPushed || m_Buffer.size() >= capacity()) { - synchronize(); - if ( !bPushed ) { - p.free(); - } - return true; - } - return false; - } - - //@endcond - - public: - //@cond - ~signal_threaded() - {} - //@endcond - - /// Creates singleton object and starts reclamation thread - /** - The \p nBufferCapacity parameter defines RCU threshold. - - The \p nSignal parameter defines a signal number stated for RCU, default is \p SIGUSR1 - */ - static void Construct( size_t nBufferCapacity = 256, int nSignal = SIGUSR1 ) - { - if ( !singleton_ptr::s_pRCU ) { - std::unique_ptr< signal_threaded, scoped_disposer > pRCU( new signal_threaded( nBufferCapacity, nSignal )); - pRCU->m_DisposerThread.start(); - - singleton_ptr::s_pRCU = pRCU.release(); - } - } - - /// Destroys singleton object and terminates internal reclamation thread - static void Destruct( bool bDetachAll = false ) - { - if ( isUsed()) { - signal_threaded * pThis = instance(); - if ( bDetachAll ) - pThis->m_ThreadList.detach_all(); - - pThis->m_DisposerThread.stop( pThis->m_Buffer, std::numeric_limits< uint64_t >::max()); - - delete pThis; - singleton_ptr::s_pRCU = nullptr; - } - } - - public: - /// Retires \p p pointer - /** - The method pushes \p p pointer to internal buffer. - When the buffer becomes full \ref synchronize function is called - to wait for the end of grace period and then - a message is sent to the reclamation thread. - */ - virtual void retire_ptr( retired_ptr& p ) - { - if ( p.m_p ) - push_buffer( epoch_retired_ptr( p, m_nCurEpoch.load( atomics::memory_order_acquire ))); - } - - /// Retires the pointer chain [\p itFirst, \p itLast) - template - void batch_retire( ForwardIterator itFirst, ForwardIterator itLast ) - { - uint64_t nEpoch = m_nCurEpoch.load( atomics::memory_order_relaxed ); - while ( itFirst != itLast ) { - epoch_retired_ptr ep( *itFirst, nEpoch ); - ++itFirst; - push_buffer( std::move(ep)); - } - } - - /// Retires the pointer chain until \p Func returns \p nullptr retired pointer - template - void batch_retire( Func e ) - { - uint64_t nEpoch = m_nCurEpoch.load( atomics::memory_order_relaxed ); - for ( retired_ptr p{ e() }; p.m_p; ) { - epoch_retired_ptr ep( p, nEpoch ); - p = e(); - push_buffer( std::move(ep)); - } - } - - - /// Waits to finish a grace period and calls disposing thread - void synchronize() - { - synchronize( false ); - } - - //@cond - void synchronize( bool bSync ) - { - uint64_t nPrevEpoch = m_nCurEpoch.fetch_add( 1, atomics::memory_order_release ); - - { - std::unique_lock sl( m_Lock ); - - back_off bkOff; - base_class::force_membar_all_threads( bkOff ); - base_class::switch_next_epoch(); - bkOff.reset(); - base_class::wait_for_quiescent_state( bkOff ); - base_class::switch_next_epoch(); - bkOff.reset(); - base_class::wait_for_quiescent_state( bkOff ); - base_class::force_membar_all_threads( bkOff ); - - m_DisposerThread.dispose( m_Buffer, nPrevEpoch, bSync ); - } - } - void force_dispose() - { - synchronize( true ); - } - //@endcond - - /// Returns the threshold of internal buffer - size_t capacity() const - { - return m_nCapacity; - } - - /// Returns the signal number stated for RCU - int signal_no() const - { - return base_class::signal_no(); - } - }; - - - /// User-space signal-handled RCU with deferred threaded reclamation (stripped version) - /** - @headerfile cds/urcu/signal_threaded.h - - This short version of \p signal_threaded is intended for stripping debug info. - If you use \p %signal_threaded with default template arguments you may use - this stripped version. All functionality of both classes are identical. - */ - class signal_threaded_stripped: public signal_threaded<> - {}; - -}} // namespace cds::urcu - -#endif // #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED -#endif // #ifndef CDSLIB_URCU_DETAILS_SIG_THREADED_H diff --git a/cds/urcu/dispose_thread.h b/cds/urcu/dispose_thread.h index 1e87a84d..d97e37dd 100644 --- a/cds/urcu/dispose_thread.h +++ b/cds/urcu/dispose_thread.h @@ -40,13 +40,13 @@ namespace cds { namespace urcu { - /// Reclamation thread for \p general_threaded and \p signal_threaded URCU + /// Reclamation thread for \p general_threaded URCU /** The object of this class contains a reclamation thread object and necessary synchronization object(s). The object manages reclamation thread and defines a set of messages (i.e. methods) to communicate with the thread. - Template argument \p Buffer defines the buffer type of \ref general_threaded (or \ref signal_threaded) URCU. + Template argument \p Buffer defines the buffer type of \ref general_threaded URCU. */ template class dispose_thread diff --git a/cds/urcu/signal_threaded.h b/cds/urcu/signal_threaded.h deleted file mode 100644 index b001576e..00000000 --- a/cds/urcu/signal_threaded.h +++ /dev/null @@ -1,212 +0,0 @@ -/* - This file is a part of libcds - Concurrent Data Structures library - - (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017 - - Source code repo: http://github.com/khizmax/libcds/ - Download: http://sourceforge.net/projects/libcds/files/ - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#ifndef CDSLIB_URCU_SIGNAL_THREADED_H -#define CDSLIB_URCU_SIGNAL_THREADED_H - -#include - -#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED - -namespace cds { namespace urcu { - - /// User-space signal-handled RCU with special thread for deferred reclamation - /** @anchor cds_urcu_signal_threaded_gc - - This is a wrapper around \p signal_threaded class. - - Template arguments: - - \p Buffer - lock-free MPSC (muliple producer/single consumer) queue. - Default is \p cds::container::VyukovMPSCCycleQueue< epoch_retired_ptr > - - \p Lock - mutex type, default is \p std::mutex - - \p DisposerThread - reclamation thread class, default is \p %general_threaded_dispose_thread - See \ref cds::urcu::dispose_thread for class interface. - - \p Backoff - back-off schema, default is \p cds::backoff::Default - - */ - template < -#ifdef CDS_DOXGEN_INVOKED - class Buffer = cds::container::VyukovMPSCCycleQueue< epoch_retired_ptr > - ,class Lock = std::mutex - ,class DisposerThread = dispose_thread - ,class Backoff = cds::backoff::Default -#else - class Buffer - ,class Lock - ,class DisposerThread - ,class Backoff -#endif - > - class gc< signal_threaded< Buffer, Lock, DisposerThread, Backoff > >: public details::gc_common - { - public: - typedef signal_threaded< Buffer, Lock, DisposerThread, Backoff > rcu_implementation ; ///< Wrapped URCU implementation - - typedef typename rcu_implementation::rcu_tag rcu_tag ; ///< URCU tag - typedef typename rcu_implementation::thread_gc thread_gc ; ///< Thread-side RCU part - typedef typename rcu_implementation::scoped_lock scoped_lock ; ///< Access lock class - - using details::gc_common::atomic_marked_ptr; - - public: - /// Creates URCU \p %general_threaded singleton. - /** - The \p nBufferCapacity parameter defines RCU threshold. - - The \p nSignal parameter defines a signal number stated for RCU, default is \p SIGUSR1 - */ - gc( size_t nBufferCapacity = 256, int nSignal = SIGUSR1 ) - { - rcu_implementation::Construct( nBufferCapacity, nSignal ); - } - - /// Destroys URCU \p %signal_threaded singleton - ~gc() - { - rcu_implementation::Destruct( true ); - } - - public: - /// Waits to finish a grace period and calls disposing thread - /** - After grace period finished the function gives new task to disposing thread. - Unlike \ref force_dispose the \p %synchronize function does not wait for - task ending. Only a "task ready" message is sent to disposing thread. - */ - static void synchronize() - { - rcu_implementation::instance()->synchronize(); - } - - /// Retires pointer \p p by the disposer \p pFunc - /** - If the buffer is full, \ref synchronize function is invoked. - */ - template - static void retire_ptr( T* p, free_retired_ptr_func pFunc ) - { - retired_ptr rp( p, pFunc ); - retire_ptr( rp ); - } - - /// Retires pointer \p p using \p Disposer - /** - If the buffer is full, \ref synchronize function is invoked. - */ - template - static void retire_ptr( T * p ) - { - retire_ptr( p, cds::details::static_functor::call ); - } - - /// Retires pointer \p p of type \ref cds_urcu_retired_ptr "retired_ptr" - /** - If the buffer is full, \ref synchronize function is invoked. - */ - static void retire_ptr( retired_ptr& p ) - { - rcu_implementation::instance()->retire_ptr(p); - } - - /// Frees chain [ \p itFirst, \p itLast) in one synchronization cycle - template - static void batch_retire( ForwardIterator itFirst, ForwardIterator itLast ) - { - rcu_implementation::instance()->batch_retire( itFirst, itLast ); - } - - /// Retires the pointer chain until \p Func returns \p nullptr retired pointer - template - static void batch_retire( Func e ) - { - rcu_implementation::instance()->batch_retire( e ); - } - - /// Acquires access lock (so called RCU reader-side lock) - /** - For safety reasons, it is better to use \ref scoped_lock class for locking/unlocking - */ - static void access_lock() - { - thread_gc::access_lock(); - } - - /// Releases access lock (so called RCU reader-side lock) - /** - For safety reasons, it is better to use \ref scoped_lock class for locking/unlocking - */ - static void access_unlock() - { - thread_gc::access_unlock(); - } - - /// Checks if the thread is inside read-side critical section (i.e. the lock is acquired) - /** - Usually, this function is used internally to be convinced - that subsequent remove action is not lead to a deadlock. - */ - static bool is_locked() - { - return thread_gc::is_locked(); - } - - /// Returns the threshold of internal buffer - static size_t capacity() - { - return rcu_implementation::instance()->capacity(); - } - - /// Returns the signal number stated for RCU - static int signal_no() - { - return rcu_implementation::instance()->signal_no(); - } - - /// Forces retired object removal (synchronous version of \ref synchronize) - /** - The function calls \ref synchronize and waits until reclamation thread - frees retired objects. - */ - static void force_dispose() - { - rcu_implementation::instance()->force_dispose(); - } - }; - - //@cond - template<> - class gc< signal_threaded_stripped >: public gc< signal_threaded<>> - {}; - //@endcond - -}} // namespace cds::urcu - -#endif // #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED -#endif // #ifndef CDSLIB_URCU_SIGNAL_THREADED_H diff --git a/change.log b/change.log index c41bb75f..4b4c94b0 100644 --- a/change.log +++ b/change.log @@ -21,6 +21,8 @@ - Added: erase_at( iterator ) function to MichaelHashSet/Map and SplitListSet/Map based on IterableList - Fixed a bug in BronsonAVLTreeMap::extract_min()/extract_max()/clear(). + - Removed: signal-handled threaded uRCU (cds::urcu::signal_threaded) due + bad performance - Added more flat-combining queue tests, thanks to Marsel Galimullin. - Changed cmake scripts to support MacOS and ARMv7/ARMv8 (64 bit), thanks to Michail Komarov (https://github.com/Nemo1369) diff --git a/projects/Win/vc14/cds.vcxproj b/projects/Win/vc14/cds.vcxproj index 9ccfd286..eefbbd66 100644 --- a/projects/Win/vc14/cds.vcxproj +++ b/projects/Win/vc14/cds.vcxproj @@ -594,7 +594,6 @@ - @@ -603,7 +602,6 @@ - diff --git a/projects/Win/vc14/cds.vcxproj.filters b/projects/Win/vc14/cds.vcxproj.filters index 189b8f40..14c57dae 100644 --- a/projects/Win/vc14/cds.vcxproj.filters +++ b/projects/Win/vc14/cds.vcxproj.filters @@ -862,18 +862,12 @@ Header Files\cds\urcu\details - - Header Files\cds\urcu\details - Header Files\cds\urcu Header Files\cds\urcu - - Header Files\cds\urcu - Header Files\cds\intrusive\details diff --git a/projects/Win/vc14/gtest-ilist-lazy.vcxproj b/projects/Win/vc14/gtest-ilist-lazy.vcxproj index 8f37014b..d519e44b 100644 --- a/projects/Win/vc14/gtest-ilist-lazy.vcxproj +++ b/projects/Win/vc14/gtest-ilist-lazy.vcxproj @@ -34,7 +34,6 @@ - diff --git a/projects/Win/vc14/gtest-ilist-michael.vcxproj b/projects/Win/vc14/gtest-ilist-michael.vcxproj index 4ec4a1c2..20e095d5 100644 --- a/projects/Win/vc14/gtest-ilist-michael.vcxproj +++ b/projects/Win/vc14/gtest-ilist-michael.vcxproj @@ -34,7 +34,6 @@ - diff --git a/projects/Win/vc14/gtest-iset-feldman.vcxproj b/projects/Win/vc14/gtest-iset-feldman.vcxproj index 7ab3712b..17e9dfd6 100644 --- a/projects/Win/vc14/gtest-iset-feldman.vcxproj +++ b/projects/Win/vc14/gtest-iset-feldman.vcxproj @@ -34,7 +34,6 @@ - diff --git a/projects/Win/vc14/gtest-iset-michael-lazy.vcxproj b/projects/Win/vc14/gtest-iset-michael-lazy.vcxproj index 74e43ff6..300a994c 100644 --- a/projects/Win/vc14/gtest-iset-michael-lazy.vcxproj +++ b/projects/Win/vc14/gtest-iset-michael-lazy.vcxproj @@ -49,7 +49,6 @@ 4503 - diff --git a/projects/Win/vc14/gtest-iset-michael.vcxproj b/projects/Win/vc14/gtest-iset-michael.vcxproj index 223c0b18..6681b2d2 100644 --- a/projects/Win/vc14/gtest-iset-michael.vcxproj +++ b/projects/Win/vc14/gtest-iset-michael.vcxproj @@ -49,7 +49,6 @@ 4503 - diff --git a/projects/Win/vc14/gtest-iset-skip.vcxproj b/projects/Win/vc14/gtest-iset-skip.vcxproj index 351b622b..bc4dd37d 100644 --- a/projects/Win/vc14/gtest-iset-skip.vcxproj +++ b/projects/Win/vc14/gtest-iset-skip.vcxproj @@ -42,7 +42,6 @@ 4503 - diff --git a/projects/Win/vc14/gtest-iset-split-lazy.vcxproj b/projects/Win/vc14/gtest-iset-split-lazy.vcxproj index 5b7fc968..14126f71 100644 --- a/projects/Win/vc14/gtest-iset-split-lazy.vcxproj +++ b/projects/Win/vc14/gtest-iset-split-lazy.vcxproj @@ -77,7 +77,6 @@ 4503 - diff --git a/projects/Win/vc14/gtest-iset-split-michael.vcxproj b/projects/Win/vc14/gtest-iset-split-michael.vcxproj index 9a1aa69d..b55ee658 100644 --- a/projects/Win/vc14/gtest-iset-split-michael.vcxproj +++ b/projects/Win/vc14/gtest-iset-split-michael.vcxproj @@ -77,7 +77,6 @@ 4503 - diff --git a/projects/Win/vc14/gtest-list-lazy.vcxproj b/projects/Win/vc14/gtest-list-lazy.vcxproj index 7e28cf31..ee85591f 100644 --- a/projects/Win/vc14/gtest-list-lazy.vcxproj +++ b/projects/Win/vc14/gtest-list-lazy.vcxproj @@ -53,7 +53,6 @@ 4503 - @@ -68,7 +67,6 @@ 4503 - diff --git a/projects/Win/vc14/gtest-list-michael.vcxproj b/projects/Win/vc14/gtest-list-michael.vcxproj index a5f29927..738607fa 100644 --- a/projects/Win/vc14/gtest-list-michael.vcxproj +++ b/projects/Win/vc14/gtest-list-michael.vcxproj @@ -60,7 +60,6 @@ 4503 - @@ -82,7 +81,6 @@ 4503 - diff --git a/projects/Win/vc14/gtest-map-feldman.vcxproj b/projects/Win/vc14/gtest-map-feldman.vcxproj index 1670d530..a3d6a9f8 100644 --- a/projects/Win/vc14/gtest-map-feldman.vcxproj +++ b/projects/Win/vc14/gtest-map-feldman.vcxproj @@ -34,7 +34,6 @@ - diff --git a/projects/Win/vc14/gtest-map-michael-lazy.vcxproj b/projects/Win/vc14/gtest-map-michael-lazy.vcxproj index 6c4de62e..98d2b74c 100644 --- a/projects/Win/vc14/gtest-map-michael-lazy.vcxproj +++ b/projects/Win/vc14/gtest-map-michael-lazy.vcxproj @@ -42,7 +42,6 @@ 4503 - diff --git a/projects/Win/vc14/gtest-map-michael.vcxproj b/projects/Win/vc14/gtest-map-michael.vcxproj index c13442be..1e20aa20 100644 --- a/projects/Win/vc14/gtest-map-michael.vcxproj +++ b/projects/Win/vc14/gtest-map-michael.vcxproj @@ -49,7 +49,6 @@ 4503 - diff --git a/projects/Win/vc14/gtest-map-skip.vcxproj b/projects/Win/vc14/gtest-map-skip.vcxproj index 7a7779cf..bb7f622e 100644 --- a/projects/Win/vc14/gtest-map-skip.vcxproj +++ b/projects/Win/vc14/gtest-map-skip.vcxproj @@ -49,7 +49,6 @@ 4503 - diff --git a/projects/Win/vc14/gtest-map-split-lazy.vcxproj b/projects/Win/vc14/gtest-map-split-lazy.vcxproj index 5e1f8a0d..0be54c2d 100644 --- a/projects/Win/vc14/gtest-map-split-lazy.vcxproj +++ b/projects/Win/vc14/gtest-map-split-lazy.vcxproj @@ -77,7 +77,6 @@ 4503 - diff --git a/projects/Win/vc14/gtest-map-split-michael.vcxproj b/projects/Win/vc14/gtest-map-split-michael.vcxproj index 051152eb..b31afd75 100644 --- a/projects/Win/vc14/gtest-map-split-michael.vcxproj +++ b/projects/Win/vc14/gtest-map-split-michael.vcxproj @@ -77,7 +77,6 @@ 4503 - diff --git a/projects/Win/vc14/gtest-set-feldman.vcxproj b/projects/Win/vc14/gtest-set-feldman.vcxproj index db736d9c..3ab7f6aa 100644 --- a/projects/Win/vc14/gtest-set-feldman.vcxproj +++ b/projects/Win/vc14/gtest-set-feldman.vcxproj @@ -34,7 +34,6 @@ - diff --git a/projects/Win/vc14/gtest-set-michael-lazy.vcxproj b/projects/Win/vc14/gtest-set-michael-lazy.vcxproj index 5212bf08..200426a3 100644 --- a/projects/Win/vc14/gtest-set-michael-lazy.vcxproj +++ b/projects/Win/vc14/gtest-set-michael-lazy.vcxproj @@ -49,7 +49,6 @@ 4503 - diff --git a/projects/Win/vc14/gtest-set-michael.vcxproj b/projects/Win/vc14/gtest-set-michael.vcxproj index c307f181..f82ca91f 100644 --- a/projects/Win/vc14/gtest-set-michael.vcxproj +++ b/projects/Win/vc14/gtest-set-michael.vcxproj @@ -49,7 +49,6 @@ 4503 - diff --git a/projects/Win/vc14/gtest-set-skip.vcxproj b/projects/Win/vc14/gtest-set-skip.vcxproj index 27a974dc..be8e82bc 100644 --- a/projects/Win/vc14/gtest-set-skip.vcxproj +++ b/projects/Win/vc14/gtest-set-skip.vcxproj @@ -49,7 +49,6 @@ 4503 - diff --git a/projects/Win/vc14/gtest-set-split-lazy.vcxproj b/projects/Win/vc14/gtest-set-split-lazy.vcxproj index 4e92cee3..d5806e81 100644 --- a/projects/Win/vc14/gtest-set-split-lazy.vcxproj +++ b/projects/Win/vc14/gtest-set-split-lazy.vcxproj @@ -77,7 +77,6 @@ 4503 - diff --git a/projects/Win/vc14/gtest-set-split-michael.vcxproj b/projects/Win/vc14/gtest-set-split-michael.vcxproj index 1654bd48..2695ac5a 100644 --- a/projects/Win/vc14/gtest-set-split-michael.vcxproj +++ b/projects/Win/vc14/gtest-set-split-michael.vcxproj @@ -77,7 +77,6 @@ 4503 - diff --git a/projects/Win/vc14/gtest-tree-bronson.vcxproj b/projects/Win/vc14/gtest-tree-bronson.vcxproj index b2575a6f..d09d42f1 100644 --- a/projects/Win/vc14/gtest-tree-bronson.vcxproj +++ b/projects/Win/vc14/gtest-tree-bronson.vcxproj @@ -32,12 +32,10 @@ - - diff --git a/projects/Win/vc14/gtest-tree-ellen.vcxproj b/projects/Win/vc14/gtest-tree-ellen.vcxproj index ad700723..ba243b7c 100644 --- a/projects/Win/vc14/gtest-tree-ellen.vcxproj +++ b/projects/Win/vc14/gtest-tree-ellen.vcxproj @@ -55,7 +55,6 @@ 4503 - @@ -83,7 +82,6 @@ 4503 - @@ -112,7 +110,6 @@ 4503 - diff --git a/projects/Win/vc14/gtest-tree-ellen.vcxproj.filters b/projects/Win/vc14/gtest-tree-ellen.vcxproj.filters index e66c9a26..a84e709e 100644 --- a/projects/Win/vc14/gtest-tree-ellen.vcxproj.filters +++ b/projects/Win/vc14/gtest-tree-ellen.vcxproj.filters @@ -38,9 +38,6 @@ Source Files\intrusive.EllenBinTree - - Source Files\intrusive.EllenBinTree - Source Files @@ -59,9 +56,6 @@ Source Files\EllenBinTreeSet - - Source Files\EllenBinTreeSet - Source Files\EllenBinTreeSet @@ -86,9 +80,6 @@ Source Files\EllenBinTreeMap - - Source Files\EllenBinTreeMap - diff --git a/projects/Win/vc141/cds.vcxproj b/projects/Win/vc141/cds.vcxproj index 859184bf..18ff9405 100644 --- a/projects/Win/vc141/cds.vcxproj +++ b/projects/Win/vc141/cds.vcxproj @@ -594,7 +594,6 @@ - @@ -603,7 +602,6 @@ - diff --git a/projects/Win/vc141/cds.vcxproj.filters b/projects/Win/vc141/cds.vcxproj.filters index 7a1fbd4d..305825bf 100644 --- a/projects/Win/vc141/cds.vcxproj.filters +++ b/projects/Win/vc141/cds.vcxproj.filters @@ -862,18 +862,12 @@ Header Files\cds\urcu\details - - Header Files\cds\urcu\details - Header Files\cds\urcu Header Files\cds\urcu - - Header Files\cds\urcu - Header Files\cds\intrusive\details diff --git a/projects/Win/vc141/gtest-ilist-lazy.vcxproj b/projects/Win/vc141/gtest-ilist-lazy.vcxproj index b1fb9f34..57e202ca 100644 --- a/projects/Win/vc141/gtest-ilist-lazy.vcxproj +++ b/projects/Win/vc141/gtest-ilist-lazy.vcxproj @@ -34,7 +34,6 @@ - diff --git a/projects/Win/vc141/gtest-ilist-michael.vcxproj b/projects/Win/vc141/gtest-ilist-michael.vcxproj index 44ac5332..65961111 100644 --- a/projects/Win/vc141/gtest-ilist-michael.vcxproj +++ b/projects/Win/vc141/gtest-ilist-michael.vcxproj @@ -34,7 +34,6 @@ - diff --git a/projects/Win/vc141/gtest-iset-feldman.vcxproj b/projects/Win/vc141/gtest-iset-feldman.vcxproj index 5d4796fd..eff17395 100644 --- a/projects/Win/vc141/gtest-iset-feldman.vcxproj +++ b/projects/Win/vc141/gtest-iset-feldman.vcxproj @@ -34,7 +34,6 @@ - diff --git a/projects/Win/vc141/gtest-iset-michael-lazy.vcxproj b/projects/Win/vc141/gtest-iset-michael-lazy.vcxproj index 9193091c..bbe06128 100644 --- a/projects/Win/vc141/gtest-iset-michael-lazy.vcxproj +++ b/projects/Win/vc141/gtest-iset-michael-lazy.vcxproj @@ -49,7 +49,6 @@ 4503 - diff --git a/projects/Win/vc141/gtest-iset-michael.vcxproj b/projects/Win/vc141/gtest-iset-michael.vcxproj index 632ea381..661b1502 100644 --- a/projects/Win/vc141/gtest-iset-michael.vcxproj +++ b/projects/Win/vc141/gtest-iset-michael.vcxproj @@ -49,7 +49,6 @@ 4503 - diff --git a/projects/Win/vc141/gtest-iset-skip.vcxproj b/projects/Win/vc141/gtest-iset-skip.vcxproj index d285a2a4..245c7227 100644 --- a/projects/Win/vc141/gtest-iset-skip.vcxproj +++ b/projects/Win/vc141/gtest-iset-skip.vcxproj @@ -42,7 +42,6 @@ 4503 - diff --git a/projects/Win/vc141/gtest-iset-split-lazy.vcxproj b/projects/Win/vc141/gtest-iset-split-lazy.vcxproj index 39f9c533..4bfcdb57 100644 --- a/projects/Win/vc141/gtest-iset-split-lazy.vcxproj +++ b/projects/Win/vc141/gtest-iset-split-lazy.vcxproj @@ -77,7 +77,6 @@ 4503 - diff --git a/projects/Win/vc141/gtest-iset-split-michael.vcxproj b/projects/Win/vc141/gtest-iset-split-michael.vcxproj index 19897152..21a7bd10 100644 --- a/projects/Win/vc141/gtest-iset-split-michael.vcxproj +++ b/projects/Win/vc141/gtest-iset-split-michael.vcxproj @@ -77,7 +77,6 @@ 4503 - diff --git a/projects/Win/vc141/gtest-list-lazy.vcxproj b/projects/Win/vc141/gtest-list-lazy.vcxproj index 42fa9be5..347d53bd 100644 --- a/projects/Win/vc141/gtest-list-lazy.vcxproj +++ b/projects/Win/vc141/gtest-list-lazy.vcxproj @@ -53,7 +53,6 @@ 4503 - @@ -68,7 +67,6 @@ 4503 - diff --git a/projects/Win/vc141/gtest-list-michael.vcxproj b/projects/Win/vc141/gtest-list-michael.vcxproj index 894c13c4..d4651c36 100644 --- a/projects/Win/vc141/gtest-list-michael.vcxproj +++ b/projects/Win/vc141/gtest-list-michael.vcxproj @@ -60,7 +60,6 @@ 4503 - @@ -82,7 +81,6 @@ 4503 - diff --git a/projects/Win/vc141/gtest-map-feldman.vcxproj b/projects/Win/vc141/gtest-map-feldman.vcxproj index 83fa4992..fdbb37b2 100644 --- a/projects/Win/vc141/gtest-map-feldman.vcxproj +++ b/projects/Win/vc141/gtest-map-feldman.vcxproj @@ -34,7 +34,6 @@ - diff --git a/projects/Win/vc141/gtest-map-michael-lazy.vcxproj b/projects/Win/vc141/gtest-map-michael-lazy.vcxproj index 4605975a..b07d653b 100644 --- a/projects/Win/vc141/gtest-map-michael-lazy.vcxproj +++ b/projects/Win/vc141/gtest-map-michael-lazy.vcxproj @@ -42,7 +42,6 @@ 4503 - diff --git a/projects/Win/vc141/gtest-map-michael.vcxproj b/projects/Win/vc141/gtest-map-michael.vcxproj index 0775c3af..e5783938 100644 --- a/projects/Win/vc141/gtest-map-michael.vcxproj +++ b/projects/Win/vc141/gtest-map-michael.vcxproj @@ -49,7 +49,6 @@ 4503 - diff --git a/projects/Win/vc141/gtest-map-skip.vcxproj b/projects/Win/vc141/gtest-map-skip.vcxproj index 5140fc9b..2e3acacb 100644 --- a/projects/Win/vc141/gtest-map-skip.vcxproj +++ b/projects/Win/vc141/gtest-map-skip.vcxproj @@ -49,7 +49,6 @@ 4503 - diff --git a/projects/Win/vc141/gtest-map-split-lazy.vcxproj b/projects/Win/vc141/gtest-map-split-lazy.vcxproj index b1d5d82c..3f7d2268 100644 --- a/projects/Win/vc141/gtest-map-split-lazy.vcxproj +++ b/projects/Win/vc141/gtest-map-split-lazy.vcxproj @@ -77,7 +77,6 @@ 4503 - diff --git a/projects/Win/vc141/gtest-map-split-michael.vcxproj b/projects/Win/vc141/gtest-map-split-michael.vcxproj index 9a9da017..494609fb 100644 --- a/projects/Win/vc141/gtest-map-split-michael.vcxproj +++ b/projects/Win/vc141/gtest-map-split-michael.vcxproj @@ -77,7 +77,6 @@ 4503 - diff --git a/projects/Win/vc141/gtest-set-feldman.vcxproj b/projects/Win/vc141/gtest-set-feldman.vcxproj index 673e6866..f82d1f4b 100644 --- a/projects/Win/vc141/gtest-set-feldman.vcxproj +++ b/projects/Win/vc141/gtest-set-feldman.vcxproj @@ -34,7 +34,6 @@ - diff --git a/projects/Win/vc141/gtest-set-michael-lazy.vcxproj b/projects/Win/vc141/gtest-set-michael-lazy.vcxproj index a47f64f1..76b7e05e 100644 --- a/projects/Win/vc141/gtest-set-michael-lazy.vcxproj +++ b/projects/Win/vc141/gtest-set-michael-lazy.vcxproj @@ -49,7 +49,6 @@ 4503 - diff --git a/projects/Win/vc141/gtest-set-michael.vcxproj b/projects/Win/vc141/gtest-set-michael.vcxproj index ed217da9..a4092ea0 100644 --- a/projects/Win/vc141/gtest-set-michael.vcxproj +++ b/projects/Win/vc141/gtest-set-michael.vcxproj @@ -49,7 +49,6 @@ 4503 - diff --git a/projects/Win/vc141/gtest-set-skip.vcxproj b/projects/Win/vc141/gtest-set-skip.vcxproj index a6db1c4a..deb41a17 100644 --- a/projects/Win/vc141/gtest-set-skip.vcxproj +++ b/projects/Win/vc141/gtest-set-skip.vcxproj @@ -49,7 +49,6 @@ 4503 - diff --git a/projects/Win/vc141/gtest-set-split-lazy.vcxproj b/projects/Win/vc141/gtest-set-split-lazy.vcxproj index 8a06eced..e2c72f26 100644 --- a/projects/Win/vc141/gtest-set-split-lazy.vcxproj +++ b/projects/Win/vc141/gtest-set-split-lazy.vcxproj @@ -77,7 +77,6 @@ 4503 - diff --git a/projects/Win/vc141/gtest-set-split-michael.vcxproj b/projects/Win/vc141/gtest-set-split-michael.vcxproj index 9fc78cd0..6190e2d9 100644 --- a/projects/Win/vc141/gtest-set-split-michael.vcxproj +++ b/projects/Win/vc141/gtest-set-split-michael.vcxproj @@ -77,7 +77,6 @@ 4503 - diff --git a/projects/Win/vc141/gtest-tree-bronson.vcxproj b/projects/Win/vc141/gtest-tree-bronson.vcxproj index 58da6e37..d3854489 100644 --- a/projects/Win/vc141/gtest-tree-bronson.vcxproj +++ b/projects/Win/vc141/gtest-tree-bronson.vcxproj @@ -32,12 +32,10 @@ - - diff --git a/projects/Win/vc141/gtest-tree-ellen.vcxproj b/projects/Win/vc141/gtest-tree-ellen.vcxproj index 80167a41..62c58de7 100644 --- a/projects/Win/vc141/gtest-tree-ellen.vcxproj +++ b/projects/Win/vc141/gtest-tree-ellen.vcxproj @@ -55,7 +55,6 @@ 4503 - @@ -83,7 +82,6 @@ 4503 - @@ -112,7 +110,6 @@ 4503 - diff --git a/projects/Win/vc141/gtest-tree-ellen.vcxproj.filters b/projects/Win/vc141/gtest-tree-ellen.vcxproj.filters index e66c9a26..a84e709e 100644 --- a/projects/Win/vc141/gtest-tree-ellen.vcxproj.filters +++ b/projects/Win/vc141/gtest-tree-ellen.vcxproj.filters @@ -38,9 +38,6 @@ Source Files\intrusive.EllenBinTree - - Source Files\intrusive.EllenBinTree - Source Files @@ -59,9 +56,6 @@ Source Files\EllenBinTreeSet - - Source Files\EllenBinTreeSet - Source Files\EllenBinTreeSet @@ -86,9 +80,6 @@ Source Files\EllenBinTreeMap - - Source Files\EllenBinTreeMap - diff --git a/src/thread_data.cpp b/src/thread_data.cpp index 1a45b09e..2824f2c5 100644 --- a/src/thread_data.cpp +++ b/src/thread_data.cpp @@ -54,8 +54,6 @@ namespace cds { namespace threading { #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED if ( cds::urcu::details::singleton::isUsed() ) m_pSHBRCU = cds::urcu::details::singleton::attach_thread(); - if ( cds::urcu::details::singleton::isUsed() ) - m_pSHTRCU = cds::urcu::details::singleton::attach_thread(); #endif } } @@ -85,10 +83,6 @@ namespace cds { namespace threading { cds::urcu::details::singleton::detach_thread( m_pSHBRCU ); m_pSHBRCU = nullptr; } - if ( cds::urcu::details::singleton::isUsed() ) { - cds::urcu::details::singleton::detach_thread( m_pSHTRCU ); - m_pSHTRCU = nullptr; - } #endif return true; } diff --git a/src/urcu_sh.cpp b/src/urcu_sh.cpp index ddd919d4..d7568c7a 100644 --- a/src/urcu_sh.cpp +++ b/src/urcu_sh.cpp @@ -34,7 +34,6 @@ namespace cds { namespace urcu { namespace details { template<> CDS_EXPORT_API singleton_vtbl * sh_singleton_instance< signal_buffered_tag >::s_pRCU = nullptr; - template<> CDS_EXPORT_API singleton_vtbl * sh_singleton_instance< signal_threaded_tag >::s_pRCU = nullptr; template <> void sh_singleton::signal_handler( int /*signo*/, siginfo_t * /*sigInfo*/, void * /*context*/ ) @@ -47,18 +46,6 @@ namespace cds { namespace urcu { namespace details { } } - template <> - void sh_singleton::signal_handler( int /*signo*/, siginfo_t * /*sigInfo*/, void * /*context*/ ) - { - thread_record * pRec = cds::threading::getRCU(); - if ( pRec ) { - atomics::atomic_signal_fence( atomics::memory_order_acquire ); - pRec->m_bNeedMemBar.store( false, atomics::memory_order_relaxed ); - atomics::atomic_signal_fence( atomics::memory_order_release ); - } - } - - }}} // namespace cds::urcu::details #endif //#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED diff --git a/test/stress/main.cpp b/test/stress/main.cpp index c9bc90db..ee8bcf9d 100644 --- a/test/stress/main.cpp +++ b/test/stress/main.cpp @@ -38,7 +38,6 @@ # include # include # include -# include #endif #ifdef CDS_ENABLE_HPSTAT @@ -90,9 +89,6 @@ int main( int argc, char **argv ) # ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef cds::urcu::gc< cds::urcu::signal_buffered<> > rcu_shb; rcu_shb shbRCU( rcu_buffer_size, SIGUSR1 ); - - typedef cds::urcu::gc< cds::urcu::signal_threaded<> > rcu_sht; - rcu_sht shtRCU( rcu_buffer_size, SIGUSR2 ); # endif #endif // CDSUNIT_USE_URCU diff --git a/test/stress/map/map_type.h b/test/stress/map/map_type.h index a2006f2f..dae3f81e 100644 --- a/test/stress/map/map_type.h +++ b/test/stress/map/map_type.h @@ -35,7 +35,6 @@ #include #include #include -#include #include #include @@ -53,7 +52,6 @@ namespace map { typedef cds::urcu::gc< cds::urcu::general_threaded_stripped > rcu_gpt; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef cds::urcu::gc< cds::urcu::signal_buffered_stripped > rcu_shb; - typedef cds::urcu::gc< cds::urcu::signal_threaded_stripped > rcu_sht; #endif template diff --git a/test/stress/map/map_type_bronson_avltree.h b/test/stress/map/map_type_bronson_avltree.h index 228da000..757a1126 100644 --- a/test/stress/map/map_type_bronson_avltree.h +++ b/test/stress/map/map_type_bronson_avltree.h @@ -101,7 +101,6 @@ namespace map { typedef BronsonAVLTreeMap< rcu_gpt, Key, Value, BronsonAVLTreeMap_less > BronsonAVLTreeMap_rcu_gpt_less; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef BronsonAVLTreeMap< rcu_shb, Key, Value, BronsonAVLTreeMap_less > BronsonAVLTreeMap_rcu_shb_less; - typedef BronsonAVLTreeMap< rcu_sht, Key, Value, BronsonAVLTreeMap_less > BronsonAVLTreeMap_rcu_sht_less; #endif struct BronsonAVLTreeMap_cmp_stat: public cc::bronson_avltree::make_traits< @@ -116,7 +115,6 @@ namespace map { typedef BronsonAVLTreeMap< rcu_gpt, Key, Value, BronsonAVLTreeMap_cmp_stat > BronsonAVLTreeMap_rcu_gpt_cmp_stat; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef BronsonAVLTreeMap< rcu_shb, Key, Value, BronsonAVLTreeMap_cmp_stat > BronsonAVLTreeMap_rcu_shb_cmp_stat; - typedef BronsonAVLTreeMap< rcu_sht, Key, Value, BronsonAVLTreeMap_cmp_stat > BronsonAVLTreeMap_rcu_sht_cmp_stat; #endif struct BronsonAVLTreeMap_less_pool_simple: public BronsonAVLTreeMap_less @@ -128,7 +126,6 @@ namespace map { typedef BronsonAVLTreeMap< rcu_gpt, Key, Value, BronsonAVLTreeMap_less_pool_simple > BronsonAVLTreeMap_rcu_gpt_less_pool_simple; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef BronsonAVLTreeMap< rcu_shb, Key, Value, BronsonAVLTreeMap_less_pool_simple > BronsonAVLTreeMap_rcu_shb_less_pool_simple; - typedef BronsonAVLTreeMap< rcu_sht, Key, Value, BronsonAVLTreeMap_less_pool_simple > BronsonAVLTreeMap_rcu_sht_less_pool_simple; #endif struct BronsonAVLTreeMap_less_pool_simple_stat : public BronsonAVLTreeMap_less { @@ -140,7 +137,6 @@ namespace map { typedef BronsonAVLTreeMap< rcu_gpt, Key, Value, BronsonAVLTreeMap_less_pool_simple_stat > BronsonAVLTreeMap_rcu_gpt_less_pool_simple_stat; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef BronsonAVLTreeMap< rcu_shb, Key, Value, BronsonAVLTreeMap_less_pool_simple_stat > BronsonAVLTreeMap_rcu_shb_less_pool_simple_stat; - typedef BronsonAVLTreeMap< rcu_sht, Key, Value, BronsonAVLTreeMap_less_pool_simple_stat > BronsonAVLTreeMap_rcu_sht_less_pool_simple_stat; #endif struct BronsonAVLTreeMap_less_pool_lazy: public BronsonAVLTreeMap_less { @@ -152,7 +148,6 @@ namespace map { typedef BronsonAVLTreeMap< rcu_gpt, Key, Value, BronsonAVLTreeMap_less_pool_lazy > BronsonAVLTreeMap_rcu_gpt_less_pool_lazy; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef BronsonAVLTreeMap< rcu_shb, Key, Value, BronsonAVLTreeMap_less_pool_lazy > BronsonAVLTreeMap_rcu_shb_less_pool_lazy; - typedef BronsonAVLTreeMap< rcu_sht, Key, Value, BronsonAVLTreeMap_less_pool_lazy > BronsonAVLTreeMap_rcu_sht_less_pool_lazy; #endif struct BronsonAVLTreeMap_less_pool_lazy_stat : public BronsonAVLTreeMap_less { @@ -165,7 +160,6 @@ namespace map { typedef BronsonAVLTreeMap< rcu_gpt, Key, Value, BronsonAVLTreeMap_less_pool_lazy_stat > BronsonAVLTreeMap_rcu_gpt_less_pool_lazy_stat; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef BronsonAVLTreeMap< rcu_shb, Key, Value, BronsonAVLTreeMap_less_pool_lazy_stat > BronsonAVLTreeMap_rcu_shb_less_pool_lazy_stat; - typedef BronsonAVLTreeMap< rcu_sht, Key, Value, BronsonAVLTreeMap_less_pool_lazy_stat > BronsonAVLTreeMap_rcu_sht_less_pool_lazy_stat; #endif struct BronsonAVLTreeMap_less_pool_bounded: public BronsonAVLTreeMap_less { @@ -177,7 +171,6 @@ namespace map { typedef BronsonAVLTreeMap< rcu_gpt, Key, Value, BronsonAVLTreeMap_less_pool_bounded > BronsonAVLTreeMap_rcu_gpt_less_pool_bounded; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef BronsonAVLTreeMap< rcu_shb, Key, Value, BronsonAVLTreeMap_less_pool_bounded > BronsonAVLTreeMap_rcu_shb_less_pool_bounded; - typedef BronsonAVLTreeMap< rcu_sht, Key, Value, BronsonAVLTreeMap_less_pool_bounded > BronsonAVLTreeMap_rcu_sht_less_pool_bounded; #endif struct BronsonAVLTreeMap_less_pool_bounded_stat : public BronsonAVLTreeMap_less { @@ -190,7 +183,6 @@ namespace map { typedef BronsonAVLTreeMap< rcu_gpt, Key, Value, BronsonAVLTreeMap_less_pool_bounded_stat > BronsonAVLTreeMap_rcu_gpt_less_pool_bounded_stat; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef BronsonAVLTreeMap< rcu_shb, Key, Value, BronsonAVLTreeMap_less_pool_bounded_stat > BronsonAVLTreeMap_rcu_shb_less_pool_bounded_stat; - typedef BronsonAVLTreeMap< rcu_sht, Key, Value, BronsonAVLTreeMap_less_pool_bounded_stat > BronsonAVLTreeMap_rcu_sht_less_pool_bounded_stat; #endif }; @@ -222,17 +214,11 @@ namespace map { #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED # define CDSSTRESS_BronsonAVLTreeMap_SHRCU( fixture, test_case, key_type, value_type ) \ CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_shb_less, key_type, value_type ) \ - CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_sht_less, key_type, value_type ) \ CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_shb_cmp_stat, key_type, value_type ) \ - CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_sht_cmp_stat, key_type, value_type ) \ CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_shb_less_pool_simple, key_type, value_type ) \ - CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_sht_less_pool_simple, key_type, value_type ) \ CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_shb_less_pool_simple_stat, key_type, value_type ) \ - CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_sht_less_pool_simple_stat, key_type, value_type ) \ CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_shb_less_pool_lazy, key_type, value_type ) \ - CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_sht_less_pool_lazy, key_type, value_type ) \ CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_shb_less_pool_lazy_stat, key_type, value_type ) \ - CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_sht_less_pool_lazy_stat, key_type, value_type ) #else # define CDSSTRESS_BronsonAVLTreeMap_SHRCU( fixture, test_case, key_type, value_type ) diff --git a/test/stress/map/map_type_ellen_bintree.h b/test/stress/map/map_type_ellen_bintree.h index ed57c0fa..2e40d85a 100644 --- a/test/stress/map/map_type_ellen_bintree.h +++ b/test/stress/map/map_type_ellen_bintree.h @@ -115,11 +115,6 @@ namespace map { typedef cc::ellen_bintree::internal_node< Key, leaf_node > internal_node; typedef cc::ellen_bintree::update_desc< leaf_node, internal_node > update_desc; }; - struct sht { - typedef cc::ellen_bintree::map_node leaf_node; - typedef cc::ellen_bintree::internal_node< Key, leaf_node > internal_node; - typedef cc::ellen_bintree::update_desc< leaf_node, internal_node > update_desc; - }; #endif }; @@ -159,11 +154,6 @@ namespace map { typedef cds::memory::pool_allocator< typename ellen_bintree_props::shb::update_desc, ellen_bintree_pool::update_desc_pool_accessor > update_desc_allocator; }; typedef EllenBinTreeMap< rcu_shb, Key, Value, traits_EllenBinTreeMap_shb > EllenBinTreeMap_rcu_shb; - - struct traits_EllenBinTreeMap_sht : traits_EllenBinTreeMap { - typedef cds::memory::pool_allocator< typename ellen_bintree_props::sht::update_desc, ellen_bintree_pool::update_desc_pool_accessor > update_desc_allocator; - }; - typedef EllenBinTreeMap< rcu_sht, Key, Value, traits_EllenBinTreeMap_sht > EllenBinTreeMap_rcu_sht; #endif struct traits_EllenBinTreeMap_yield : public traits_EllenBinTreeMap @@ -233,12 +223,6 @@ namespace map { typedef cds::memory::pool_allocator< typename ellen_bintree_props::shb::update_desc, ellen_bintree_pool::update_desc_pool_accessor > update_desc_allocator; }; typedef EllenBinTreeMap< rcu_shb, Key, Value, traits_EllenBinTreeMap_stat_shb > EllenBinTreeMap_rcu_shb_stat; - - struct traits_EllenBinTreeMap_stat_sht : public traits_EllenBinTreeMap_stat - { - typedef cds::memory::pool_allocator< typename ellen_bintree_props::sht::update_desc, ellen_bintree_pool::update_desc_pool_accessor > update_desc_allocator; - }; - typedef EllenBinTreeMap< rcu_sht, Key, Value, traits_EllenBinTreeMap_stat_sht > EllenBinTreeMap_rcu_sht_stat; #endif }; @@ -294,19 +278,9 @@ namespace map { } #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED -# if defined(CDS_STRESS_TEST_LEVEL) && CDS_STRESS_TEST_LEVEL > 0 -# define CDSSTRESS_EllenBinTreeMap_SHRCU_1( fixture, test_case, key_type, value_type ) \ - CDSSTRESS_EllenBinTreeMap_case( fixture, test_case, EllenBinTreeMap_rcu_sht, key_type, value_type ) \ - CDSSTRESS_EllenBinTreeMap_case( fixture, test_case, EllenBinTreeMap_rcu_sht_stat, key_type, value_type ) \ - -# else -# define CDSSTRESS_EllenBinTreeMap_SHRCU_1( fixture, test_case, key_type, value_type ) -# endif - # define CDSSTRESS_EllenBinTreeMap_SHRCU( fixture, test_case, key_type, value_type ) \ CDSSTRESS_EllenBinTreeMap_case( fixture, test_case, EllenBinTreeMap_rcu_shb, key_type, value_type ) \ CDSSTRESS_EllenBinTreeMap_case( fixture, test_case, EllenBinTreeMap_rcu_shb_stat, key_type, value_type ) \ - CDSSTRESS_EllenBinTreeMap_SHRCU_1( fixture, test_case, key_type, value_type ) \ #else # define CDSSTRESS_EllenBinTreeMap_SHRCU( fixture, test_case, key_type, value_type ) diff --git a/test/stress/map/map_type_feldman_hashmap.h b/test/stress/map/map_type_feldman_hashmap.h index 1b242f54..c12b73f0 100644 --- a/test/stress/map/map_type_feldman_hashmap.h +++ b/test/stress/map/map_type_feldman_hashmap.h @@ -114,7 +114,6 @@ namespace map { typedef FeldmanHashMap< rcu_gpt, Key, Value, traits_FeldmanHashMap_stdhash > FeldmanHashMap_rcu_gpt_stdhash; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef FeldmanHashMap< rcu_shb, Key, Value, traits_FeldmanHashMap_stdhash > FeldmanHashMap_rcu_shb_stdhash; - typedef FeldmanHashMap< rcu_sht, Key, Value, traits_FeldmanHashMap_stdhash > FeldmanHashMap_rcu_sht_stdhash; #endif struct traits_FeldmanHashMap_stdhash_stat: traits_FeldmanHashMap_stdhash @@ -130,7 +129,6 @@ namespace map { typedef FeldmanHashMap< rcu_gpt, Key, Value, traits_FeldmanHashMap_stdhash_stat > FeldmanHashMap_rcu_gpt_stdhash_stat; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef FeldmanHashMap< rcu_shb, Key, Value, traits_FeldmanHashMap_stdhash_stat > FeldmanHashMap_rcu_shb_stdhash_stat; - typedef FeldmanHashMap< rcu_sht, Key, Value, traits_FeldmanHashMap_stdhash_stat > FeldmanHashMap_rcu_sht_stdhash_stat; #endif // CityHash @@ -147,7 +145,6 @@ namespace map { typedef FeldmanHashMap< rcu_gpt, Key, Value, traits_FeldmanHashMap_city64 > FeldmanHashMap_rcu_gpt_city64; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef FeldmanHashMap< rcu_shb, Key, Value, traits_FeldmanHashMap_city64 > FeldmanHashMap_rcu_shb_city64; - typedef FeldmanHashMap< rcu_sht, Key, Value, traits_FeldmanHashMap_city64 > FeldmanHashMap_rcu_sht_city64; #endif struct traits_FeldmanHashMap_city64_stat : public traits_FeldmanHashMap_city64 @@ -161,7 +158,6 @@ namespace map { typedef FeldmanHashMap< rcu_gpt, Key, Value, traits_FeldmanHashMap_city64_stat > FeldmanHashMap_rcu_gpt_city64_stat; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef FeldmanHashMap< rcu_shb, Key, Value, traits_FeldmanHashMap_city64_stat > FeldmanHashMap_rcu_shb_city64_stat; - typedef FeldmanHashMap< rcu_sht, Key, Value, traits_FeldmanHashMap_city64_stat > FeldmanHashMap_rcu_sht_city64_stat; #endif struct traits_FeldmanHashMap_city128 : public cc::feldman_hashmap::traits @@ -176,7 +172,6 @@ namespace map { typedef FeldmanHashMap< rcu_gpt, Key, Value, traits_FeldmanHashMap_city128 > FeldmanHashMap_rcu_gpt_city128; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef FeldmanHashMap< rcu_shb, Key, Value, traits_FeldmanHashMap_city128 > FeldmanHashMap_rcu_shb_city128; - typedef FeldmanHashMap< rcu_sht, Key, Value, traits_FeldmanHashMap_city128 > FeldmanHashMap_rcu_sht_city128; #endif struct traits_FeldmanHashMap_city128_stat : public traits_FeldmanHashMap_city128 @@ -190,7 +185,6 @@ namespace map { typedef FeldmanHashMap< rcu_gpt, Key, Value, traits_FeldmanHashMap_city128_stat > FeldmanHashMap_rcu_gpt_city128_stat; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef FeldmanHashMap< rcu_shb, Key, Value, traits_FeldmanHashMap_city128_stat > FeldmanHashMap_rcu_shb_city128_stat; - typedef FeldmanHashMap< rcu_sht, Key, Value, traits_FeldmanHashMap_city128_stat > FeldmanHashMap_rcu_sht_city128_stat; #endif #endif // CDS_BUILD_BITS == 64 @@ -208,7 +202,6 @@ namespace map { typedef FeldmanHashMap< rcu_gpt, Key, Value, traits_FeldmanHashMap_fixed > FeldmanHashMap_rcu_gpt_fixed; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef FeldmanHashMap< rcu_shb, Key, Value, traits_FeldmanHashMap_fixed > FeldmanHashMap_rcu_shb_fixed; - typedef FeldmanHashMap< rcu_sht, Key, Value, traits_FeldmanHashMap_fixed > FeldmanHashMap_rcu_sht_fixed; #endif struct traits_FeldmanHashMap_fixed_stat : public traits_FeldmanHashMap_fixed @@ -222,7 +215,6 @@ namespace map { typedef FeldmanHashMap< rcu_gpt, Key, Value, traits_FeldmanHashMap_fixed_stat > FeldmanHashMap_rcu_gpt_fixed_stat; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef FeldmanHashMap< rcu_shb, Key, Value, traits_FeldmanHashMap_fixed_stat > FeldmanHashMap_rcu_shb_fixed_stat; - typedef FeldmanHashMap< rcu_sht, Key, Value, traits_FeldmanHashMap_fixed_stat > FeldmanHashMap_rcu_sht_fixed_stat; #endif }; @@ -248,28 +240,20 @@ namespace map { #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED # define CDSSTRESS_FeldmanHashMap_fixed_SHRCU( fixture, test_case, key_type, value_type ) \ CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_rcu_shb_fixed, key_type, value_type ) \ - CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_rcu_sht_fixed, key_type, value_type ) \ CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_rcu_shb_fixed_stat, key_type, value_type ) \ - CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_rcu_sht_fixed_stat, key_type, value_type ) \ # define CDSSTRESS_FeldmanHashMap_stdhash_SHRCU( fixture, test_case, key_type, value_type ) \ CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_rcu_shb_stdhash, key_type, value_type ) \ - CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_rcu_sht_stdhash, key_type, value_type ) \ CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_rcu_shb_stdhash_stat, key_type, value_type ) \ - CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_rcu_sht_stdhash_stat, key_type, value_type ) \ # if CDS_BUILD_BITS == 64 # define CDSSTRESS_FeldmanHashMap_city64_SHRCU( fixture, test_case, key_type, value_type ) \ CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_rcu_shb_city64, key_type, value_type ) \ - CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_rcu_sht_city64, key_type, value_type ) \ CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_rcu_shb_city64_stat, key_type, value_type ) \ - CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_rcu_sht_city64_stat, key_type, value_type ) \ # define CDSSTRESS_FeldmanHashMap_city128_SHRCU( fixture, test_case, key_type, value_type ) \ CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_rcu_shb_city64, key_type, value_type ) \ - CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_rcu_sht_city64, key_type, value_type ) \ CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_rcu_shb_city64_stat, key_type, value_type ) \ - CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_rcu_sht_city64_stat, key_type, value_type ) \ # else # define CDSSTRESS_FeldmanHashMap_city64_SHRCU( fixture, test_case, key_type, value_type ) diff --git a/test/stress/map/map_type_lazy_list.h b/test/stress/map/map_type_lazy_list.h index ad4a82e8..27675f0d 100644 --- a/test/stress/map/map_type_lazy_list.h +++ b/test/stress/map/map_type_lazy_list.h @@ -62,7 +62,6 @@ namespace map { typedef cc::LazyKVList< rcu_gpt, Key, Value, traits_LazyList_cmp > LazyList_RCU_GPT_cmp; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef cc::LazyKVList< rcu_shb, Key, Value, traits_LazyList_cmp > LazyList_RCU_SHB_cmp; - typedef cc::LazyKVList< rcu_sht, Key, Value, traits_LazyList_cmp > LazyList_RCU_SHT_cmp; #endif struct traits_LazyList_cmp_stat: public traits_LazyList_cmp @@ -77,7 +76,6 @@ namespace map { typedef cc::LazyKVList< rcu_gpt, Key, Value, traits_LazyList_cmp_stat > LazyList_RCU_GPT_cmp_stat; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef cc::LazyKVList< rcu_shb, Key, Value, traits_LazyList_cmp_stat > LazyList_RCU_SHB_cmp_stat; - typedef cc::LazyKVList< rcu_sht, Key, Value, traits_LazyList_cmp_stat > LazyList_RCU_SHT_cmp_stat; #endif struct traits_LazyList_unord : @@ -102,7 +100,6 @@ namespace map { typedef cc::LazyKVList< rcu_gpt, Key, Value, traits_LazyList_cmp_seqcst > LazyList_RCU_GPT_cmp_seqcst; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef cc::LazyKVList< rcu_shb, Key, Value, traits_LazyList_cmp_seqcst > LazyList_RCU_SHB_cmp_seqcst; - typedef cc::LazyKVList< rcu_sht, Key, Value, traits_LazyList_cmp_seqcst > LazyList_RCU_SHT_cmp_seqcst; #endif struct traits_LazyList_less : @@ -118,7 +115,6 @@ namespace map { typedef cc::LazyKVList< rcu_gpt, Key, Value, traits_LazyList_less > LazyList_RCU_GPT_less; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef cc::LazyKVList< rcu_shb, Key, Value, traits_LazyList_less > LazyList_RCU_SHB_less; - typedef cc::LazyKVList< rcu_sht, Key, Value, traits_LazyList_less > LazyList_RCU_SHT_less; #endif struct traits_LazyList_less_stat: public traits_LazyList_less @@ -133,7 +129,6 @@ namespace map { typedef cc::LazyKVList< rcu_gpt, Key, Value, traits_LazyList_less_stat > LazyList_RCU_GPT_less_stat; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef cc::LazyKVList< rcu_shb, Key, Value, traits_LazyList_less_stat > LazyList_RCU_SHB_less_stat; - typedef cc::LazyKVList< rcu_sht, Key, Value, traits_LazyList_less_stat > LazyList_RCU_SHT_less_stat; #endif struct traits_LazyList_less_seqcst : @@ -150,7 +145,6 @@ namespace map { typedef cc::LazyKVList< rcu_gpt, Key, Value, traits_LazyList_less_seqcst > LazyList_RCU_GPT_less_seqcst; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef cc::LazyKVList< rcu_shb, Key, Value, traits_LazyList_less_seqcst > LazyList_RCU_SHB_less_seqcst; - typedef cc::LazyKVList< rcu_sht, Key, Value, traits_LazyList_less_seqcst > LazyList_RCU_SHT_less_seqcst; #endif }; diff --git a/test/stress/map/map_type_michael.h b/test/stress/map/map_type_michael.h index 7e23eca9..988b7380 100644 --- a/test/stress/map/map_type_michael.h +++ b/test/stress/map/map_type_michael.h @@ -100,7 +100,6 @@ namespace map { typedef MichaelHashMap< rcu_gpt, typename ml::MichaelList_RCU_GPT_cmp, traits_MichaelMap_hash > MichaelMap_RCU_GPT_cmp; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef MichaelHashMap< rcu_shb, typename ml::MichaelList_RCU_SHB_cmp, traits_MichaelMap_hash > MichaelMap_RCU_SHB_cmp; - typedef MichaelHashMap< rcu_sht, typename ml::MichaelList_RCU_SHT_cmp, traits_MichaelMap_hash > MichaelMap_RCU_SHT_cmp; #endif typedef MichaelHashMap< cds::gc::HP, typename ml::MichaelList_HP_cmp_stat, traits_MichaelMap_hash > MichaelMap_HP_cmp_stat; @@ -111,7 +110,6 @@ namespace map { typedef MichaelHashMap< rcu_gpt, typename ml::MichaelList_RCU_GPT_cmp_stat, traits_MichaelMap_hash > MichaelMap_RCU_GPT_cmp_stat; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef MichaelHashMap< rcu_shb, typename ml::MichaelList_RCU_SHB_cmp_stat, traits_MichaelMap_hash > MichaelMap_RCU_SHB_cmp_stat; - typedef MichaelHashMap< rcu_sht, typename ml::MichaelList_RCU_SHT_cmp_stat, traits_MichaelMap_hash > MichaelMap_RCU_SHT_cmp_stat; #endif typedef MichaelHashMap< cds::gc::HP, typename ml::MichaelList_HP_less, traits_MichaelMap_hash > MichaelMap_HP_less; @@ -122,7 +120,6 @@ namespace map { typedef MichaelHashMap< rcu_gpt, typename ml::MichaelList_RCU_GPT_less, traits_MichaelMap_hash > MichaelMap_RCU_GPT_less; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef MichaelHashMap< rcu_shb, typename ml::MichaelList_RCU_SHB_less, traits_MichaelMap_hash > MichaelMap_RCU_SHB_less; - typedef MichaelHashMap< rcu_sht, typename ml::MichaelList_RCU_SHT_less, traits_MichaelMap_hash > MichaelMap_RCU_SHT_less; #endif typedef MichaelHashMap< cds::gc::HP, typename ml::MichaelList_HP_less_stat, traits_MichaelMap_hash > MichaelMap_HP_less_stat; @@ -133,7 +130,6 @@ namespace map { typedef MichaelHashMap< rcu_gpt, typename ml::MichaelList_RCU_GPT_less_stat, traits_MichaelMap_hash > MichaelMap_RCU_GPT_less_stat; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef MichaelHashMap< rcu_shb, typename ml::MichaelList_RCU_SHB_less_stat, traits_MichaelMap_hash > MichaelMap_RCU_SHB_less_stat; - typedef MichaelHashMap< rcu_sht, typename ml::MichaelList_RCU_SHT_less_stat, traits_MichaelMap_hash > MichaelMap_RCU_SHT_less_stat; #endif typedef MichaelHashMap< cds::gc::HP, typename ml::MichaelList_HP_cmp_seqcst, traits_MichaelMap_hash > MichaelMap_HP_cmp_seqcst; @@ -144,7 +140,6 @@ namespace map { typedef MichaelHashMap< rcu_gpt, typename ml::MichaelList_RCU_GPT_cmp_seqcst, traits_MichaelMap_hash > MichaelMap_RCU_GPT_cmp_seqcst; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef MichaelHashMap< rcu_shb, typename ml::MichaelList_RCU_SHB_cmp_seqcst, traits_MichaelMap_hash > MichaelMap_RCU_SHB_cmp_seqcst; - typedef MichaelHashMap< rcu_sht, typename ml::MichaelList_RCU_SHT_cmp_seqcst, traits_MichaelMap_hash > MichaelMap_RCU_SHT_cmp_seqcst; #endif typedef MichaelHashMap< cds::gc::HP, typename ml::MichaelList_HP_less_seqcst, traits_MichaelMap_hash > MichaelMap_HP_less_seqcst; @@ -155,7 +150,6 @@ namespace map { typedef MichaelHashMap< rcu_gpt, typename ml::MichaelList_RCU_GPT_less_seqcst, traits_MichaelMap_hash > MichaelMap_RCU_GPT_less_seqcst; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef MichaelHashMap< rcu_shb, typename ml::MichaelList_RCU_SHB_less_seqcst, traits_MichaelMap_hash > MichaelMap_RCU_SHB_less_seqcst; - typedef MichaelHashMap< rcu_sht, typename ml::MichaelList_RCU_SHT_less_seqcst, traits_MichaelMap_hash > MichaelMap_RCU_SHT_less_seqcst; #endif @@ -171,7 +165,6 @@ namespace map { typedef MichaelHashMap< rcu_gpt, typename ll::LazyList_RCU_GPT_cmp, traits_MichaelMap_hash > MichaelMap_Lazy_RCU_GPT_cmp; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef MichaelHashMap< rcu_shb, typename ll::LazyList_RCU_SHB_cmp, traits_MichaelMap_hash > MichaelMap_Lazy_RCU_SHB_cmp; - typedef MichaelHashMap< rcu_sht, typename ll::LazyList_RCU_SHT_cmp, traits_MichaelMap_hash > MichaelMap_Lazy_RCU_SHT_cmp; #endif typedef MichaelHashMap< cds::gc::HP, typename ll::LazyList_HP_cmp_stat, traits_MichaelMap_hash > MichaelMap_Lazy_HP_cmp_stat; @@ -182,7 +175,6 @@ namespace map { typedef MichaelHashMap< rcu_gpt, typename ll::LazyList_RCU_GPT_cmp_stat, traits_MichaelMap_hash > MichaelMap_Lazy_RCU_GPT_cmp_stat; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef MichaelHashMap< rcu_shb, typename ll::LazyList_RCU_SHB_cmp_stat, traits_MichaelMap_hash > MichaelMap_Lazy_RCU_SHB_cmp_stat; - typedef MichaelHashMap< rcu_sht, typename ll::LazyList_RCU_SHT_cmp_stat, traits_MichaelMap_hash > MichaelMap_Lazy_RCU_SHT_cmp_stat; #endif typedef MichaelHashMap< cds::gc::nogc, typename ll::LazyList_NOGC_unord, traits_MichaelMap_hash > MichaelMap_Lazy_NOGC_unord; @@ -195,7 +187,6 @@ namespace map { typedef MichaelHashMap< rcu_gpt, typename ll::LazyList_RCU_GPT_less, traits_MichaelMap_hash > MichaelMap_Lazy_RCU_GPT_less; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef MichaelHashMap< rcu_shb, typename ll::LazyList_RCU_SHB_less, traits_MichaelMap_hash > MichaelMap_Lazy_RCU_SHB_less; - typedef MichaelHashMap< rcu_sht, typename ll::LazyList_RCU_SHT_less, traits_MichaelMap_hash > MichaelMap_Lazy_RCU_SHT_less; #endif typedef MichaelHashMap< cds::gc::HP, typename ll::LazyList_HP_less_stat, traits_MichaelMap_hash > MichaelMap_Lazy_HP_less_stat; @@ -206,7 +197,6 @@ namespace map { typedef MichaelHashMap< rcu_gpt, typename ll::LazyList_RCU_GPT_less_stat, traits_MichaelMap_hash > MichaelMap_Lazy_RCU_GPT_less_stat; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef MichaelHashMap< rcu_shb, typename ll::LazyList_RCU_SHB_less_stat, traits_MichaelMap_hash > MichaelMap_Lazy_RCU_SHB_less_stat; - typedef MichaelHashMap< rcu_sht, typename ll::LazyList_RCU_SHT_less_stat, traits_MichaelMap_hash > MichaelMap_Lazy_RCU_SHT_less_stat; #endif typedef MichaelHashMap< cds::gc::HP, typename ll::LazyList_HP_cmp_seqcst, traits_MichaelMap_hash > MichaelMap_Lazy_HP_cmp_seqcst; @@ -217,7 +207,6 @@ namespace map { typedef MichaelHashMap< rcu_gpt, typename ll::LazyList_RCU_GPT_cmp_seqcst, traits_MichaelMap_hash > MichaelMap_Lazy_RCU_GPT_cmp_seqcst; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef MichaelHashMap< rcu_shb, typename ll::LazyList_RCU_SHB_cmp_seqcst, traits_MichaelMap_hash > MichaelMap_Lazy_RCU_SHB_cmp_seqcst; - typedef MichaelHashMap< rcu_sht, typename ll::LazyList_RCU_SHT_cmp_seqcst, traits_MichaelMap_hash > MichaelMap_Lazy_RCU_SHT_cmp_seqcst; #endif typedef MichaelHashMap< cds::gc::HP, typename ll::LazyList_HP_less_seqcst, traits_MichaelMap_hash > MichaelMap_Lazy_HP_less_seqcst; @@ -228,7 +217,6 @@ namespace map { typedef MichaelHashMap< rcu_gpt, typename ll::LazyList_RCU_GPT_less_seqcst, traits_MichaelMap_hash > MichaelMap_Lazy_RCU_GPT_less_seqcst; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef MichaelHashMap< rcu_shb, typename ll::LazyList_RCU_SHB_less_seqcst, traits_MichaelMap_hash > MichaelMap_Lazy_RCU_SHB_less_seqcst; - typedef MichaelHashMap< rcu_sht, typename ll::LazyList_RCU_SHT_less_seqcst, traits_MichaelMap_hash > MichaelMap_Lazy_RCU_SHT_less_seqcst; #endif diff --git a/test/stress/map/map_type_michael_list.h b/test/stress/map/map_type_michael_list.h index b78309b9..e09a3b73 100644 --- a/test/stress/map/map_type_michael_list.h +++ b/test/stress/map/map_type_michael_list.h @@ -61,7 +61,6 @@ namespace map { typedef cc::MichaelKVList< rcu_gpt, Key, Value, traits_MichaelList_cmp > MichaelList_RCU_GPT_cmp; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef cc::MichaelKVList< rcu_shb, Key, Value, traits_MichaelList_cmp > MichaelList_RCU_SHB_cmp; - typedef cc::MichaelKVList< rcu_sht, Key, Value, traits_MichaelList_cmp > MichaelList_RCU_SHT_cmp; #endif struct traits_MichaelList_cmp_stat : public traits_MichaelList_cmp @@ -76,7 +75,6 @@ namespace map { typedef cc::MichaelKVList< rcu_gpt, Key, Value, traits_MichaelList_cmp_stat > MichaelList_RCU_GPT_cmp_stat; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef cc::MichaelKVList< rcu_shb, Key, Value, traits_MichaelList_cmp_stat > MichaelList_RCU_SHB_cmp_stat; - typedef cc::MichaelKVList< rcu_sht, Key, Value, traits_MichaelList_cmp_stat > MichaelList_RCU_SHT_cmp_stat; #endif struct traits_MichaelList_cmp_seqcst : @@ -93,7 +91,6 @@ namespace map { typedef cc::MichaelKVList< rcu_gpt, Key, Value, traits_MichaelList_cmp_seqcst > MichaelList_RCU_GPT_cmp_seqcst; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef cc::MichaelKVList< rcu_shb, Key, Value, traits_MichaelList_cmp_seqcst > MichaelList_RCU_SHB_cmp_seqcst; - typedef cc::MichaelKVList< rcu_sht, Key, Value, traits_MichaelList_cmp_seqcst > MichaelList_RCU_SHT_cmp_seqcst; #endif struct traits_MichaelList_less : @@ -109,7 +106,6 @@ namespace map { typedef cc::MichaelKVList< rcu_gpt, Key, Value, traits_MichaelList_less > MichaelList_RCU_GPT_less; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef cc::MichaelKVList< rcu_shb, Key, Value, traits_MichaelList_less > MichaelList_RCU_SHB_less; - typedef cc::MichaelKVList< rcu_sht, Key, Value, traits_MichaelList_less > MichaelList_RCU_SHT_less; #endif struct traits_MichaelList_less_stat: public traits_MichaelList_less @@ -124,7 +120,6 @@ namespace map { typedef cc::MichaelKVList< rcu_gpt, Key, Value, traits_MichaelList_less_stat > MichaelList_RCU_GPT_less_stat; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef cc::MichaelKVList< rcu_shb, Key, Value, traits_MichaelList_less_stat > MichaelList_RCU_SHB_less_stat; - typedef cc::MichaelKVList< rcu_sht, Key, Value, traits_MichaelList_less_stat > MichaelList_RCU_SHT_less_stat; #endif struct traits_MichaelList_less_seqcst : @@ -141,7 +136,6 @@ namespace map { typedef cc::MichaelKVList< rcu_gpt, Key, Value, traits_MichaelList_less_seqcst > MichaelList_RCU_GPT_less_seqcst; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef cc::MichaelKVList< rcu_shb, Key, Value, traits_MichaelList_less_seqcst > MichaelList_RCU_SHB_less_seqcst; - typedef cc::MichaelKVList< rcu_sht, Key, Value, traits_MichaelList_less_seqcst > MichaelList_RCU_SHT_less_seqcst; #endif }; diff --git a/test/stress/map/map_type_skip_list.h b/test/stress/map/map_type_skip_list.h index a916133c..f0344a1c 100644 --- a/test/stress/map/map_type_skip_list.h +++ b/test/stress/map/map_type_skip_list.h @@ -97,7 +97,6 @@ namespace map { typedef SkipListMap< rcu_gpt, Key, Value, traits_SkipListMap_less_pascal > SkipListMap_rcu_gpt_less_pascal; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef SkipListMap< rcu_shb, Key, Value, traits_SkipListMap_less_pascal > SkipListMap_rcu_shb_less_pascal; - typedef SkipListMap< rcu_sht, Key, Value, traits_SkipListMap_less_pascal > SkipListMap_rcu_sht_less_pascal; #endif class traits_SkipListMap_less_pascal_seqcst: public cc::skip_list::make_traits < @@ -115,7 +114,6 @@ namespace map { typedef SkipListMap< rcu_gpt, Key, Value, traits_SkipListMap_less_pascal_seqcst > SkipListMap_rcu_gpt_less_pascal_seqcst; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef SkipListMap< rcu_shb, Key, Value, traits_SkipListMap_less_pascal_seqcst > SkipListMap_rcu_shb_less_pascal_seqcst; - typedef SkipListMap< rcu_sht, Key, Value, traits_SkipListMap_less_pascal_seqcst > SkipListMap_rcu_sht_less_pascal_seqcst; #endif class traits_SkipListMap_less_pascal_stat: public cc::skip_list::make_traits < @@ -133,7 +131,6 @@ namespace map { typedef SkipListMap< rcu_gpt, Key, Value, traits_SkipListMap_less_pascal_stat > SkipListMap_rcu_gpt_less_pascal_stat; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef SkipListMap< rcu_shb, Key, Value, traits_SkipListMap_less_pascal_stat > SkipListMap_rcu_shb_less_pascal_stat; - typedef SkipListMap< rcu_sht, Key, Value, traits_SkipListMap_less_pascal_stat > SkipListMap_rcu_sht_less_pascal_stat; #endif class traits_SkipListMap_cmp_pascal: public cc::skip_list::make_traits < @@ -150,7 +147,6 @@ namespace map { typedef SkipListMap< rcu_gpt, Key, Value, traits_SkipListMap_cmp_pascal > SkipListMap_rcu_gpt_cmp_pascal; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef SkipListMap< rcu_shb, Key, Value, traits_SkipListMap_cmp_pascal > SkipListMap_rcu_shb_cmp_pascal; - typedef SkipListMap< rcu_sht, Key, Value, traits_SkipListMap_cmp_pascal > SkipListMap_rcu_sht_cmp_pascal; #endif class traits_SkipListMap_cmp_pascal_stat: public cc::skip_list::make_traits < @@ -168,7 +164,6 @@ namespace map { typedef SkipListMap< rcu_gpt, Key, Value, traits_SkipListMap_cmp_pascal_stat > SkipListMap_rcu_gpt_cmp_pascal_stat; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef SkipListMap< rcu_shb, Key, Value, traits_SkipListMap_cmp_pascal_stat > SkipListMap_rcu_shb_cmp_pascal_stat; - typedef SkipListMap< rcu_sht, Key, Value, traits_SkipListMap_cmp_pascal_stat > SkipListMap_rcu_sht_cmp_pascal_stat; #endif class traits_SkipListMap_less_xorshift: public cc::skip_list::make_traits < @@ -185,7 +180,6 @@ namespace map { typedef SkipListMap< rcu_gpt, Key, Value, traits_SkipListMap_less_xorshift > SkipListMap_rcu_gpt_less_xorshift; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef SkipListMap< rcu_shb, Key, Value, traits_SkipListMap_less_xorshift > SkipListMap_rcu_shb_less_xorshift; - typedef SkipListMap< rcu_sht, Key, Value, traits_SkipListMap_less_xorshift > SkipListMap_rcu_sht_less_xorshift; #endif class traits_SkipListMap_less_xorshift_stat: public cc::skip_list::make_traits < @@ -203,7 +197,6 @@ namespace map { typedef SkipListMap< rcu_gpt, Key, Value, traits_SkipListMap_less_xorshift_stat > SkipListMap_rcu_gpt_less_xorshift_stat; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef SkipListMap< rcu_shb, Key, Value, traits_SkipListMap_less_xorshift_stat > SkipListMap_rcu_shb_less_xorshift_stat; - typedef SkipListMap< rcu_sht, Key, Value, traits_SkipListMap_less_xorshift_stat > SkipListMap_rcu_sht_less_xorshift_stat; #endif class traits_SkipListMap_cmp_xorshift: public cc::skip_list::make_traits < @@ -220,7 +213,6 @@ namespace map { typedef SkipListMap< rcu_gpt, Key, Value, traits_SkipListMap_cmp_xorshift > SkipListMap_rcu_gpt_cmp_xorshift; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef SkipListMap< rcu_shb, Key, Value, traits_SkipListMap_cmp_xorshift > SkipListMap_rcu_shb_cmp_xorshift; - typedef SkipListMap< rcu_sht, Key, Value, traits_SkipListMap_cmp_xorshift > SkipListMap_rcu_sht_cmp_xorshift; #endif class traits_SkipListMap_cmp_xorshift_stat: public cc::skip_list::make_traits < @@ -238,7 +230,6 @@ namespace map { typedef SkipListMap< rcu_gpt, Key, Value, traits_SkipListMap_cmp_xorshift_stat > SkipListMap_rcu_gpt_cmp_xorshift_stat; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef SkipListMap< rcu_shb, Key, Value, traits_SkipListMap_cmp_xorshift_stat > SkipListMap_rcu_shb_cmp_xorshift_stat; - typedef SkipListMap< rcu_sht, Key, Value, traits_SkipListMap_cmp_xorshift_stat > SkipListMap_rcu_sht_cmp_xorshift_stat; #endif }; @@ -263,7 +254,6 @@ namespace map { #if defined(CDS_STRESS_TEST_LEVEL) && CDS_STRESS_TEST_LEVEL > 1 # define CDSSTRESS_SkipListMap_SHRCU_2( fixture, test_case, key_type, value_type ) \ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_shb_less_pascal_seqcst, key_type, value_type ) \ - CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_sht_less_pascal_seqcst, key_type, value_type ) \ #else # define CDSSTRESS_SkipListMap_SHRCU_2( fixture, test_case, key_type, value_type ) @@ -271,14 +261,11 @@ namespace map { #if defined(CDS_STRESS_TEST_LEVEL) && CDS_STRESS_TEST_LEVEL == 1 # define CDSSTRESS_SkipListMap_SHRCU_1( fixture, test_case, key_type, value_type ) \ - CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_sht_less_pascal, key_type, value_type ) \ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_shb_less_pascal_stat, key_type, value_type ) \ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_shb_cmp_pascal, key_type, value_type ) \ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_shb_cmp_pascal_stat, key_type, value_type ) \ - CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_sht_less_xorshift, key_type, value_type ) \ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_shb_less_xorshift_stat, key_type, value_type ) \ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_shb_cmp_xorshift, key_type, value_type ) \ - CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_sht_cmp_xorshift_stat, key_type, value_type ) \ #else # define CDSSTRESS_SkipListMap_SHRCU_1( fixture, test_case, key_type, value_type ) @@ -287,12 +274,7 @@ namespace map { # define CDSSTRESS_SkipListMap_SHRCU( fixture, test_case, key_type, value_type ) \ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_shb_less_pascal, key_type, value_type ) \ - CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_sht_less_pascal_stat, key_type, value_type ) \ - CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_sht_cmp_pascal, key_type, value_type ) \ - CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_sht_cmp_pascal_stat, key_type, value_type ) \ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_shb_less_xorshift, key_type, value_type ) \ - CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_sht_less_xorshift_stat, key_type, value_type ) \ - CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_sht_cmp_xorshift, key_type, value_type ) \ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_shb_cmp_xorshift_stat, key_type, value_type ) \ CDSSTRESS_SkipListMap_SHRCU_1( fixture, test_case, key_type, value_type ) \ CDSSTRESS_SkipListMap_SHRCU_2( fixture, test_case, key_type, value_type ) \ diff --git a/test/stress/map/map_type_split_list.h b/test/stress/map/map_type_split_list.h index f2038f44..f9265b2a 100644 --- a/test/stress/map/map_type_split_list.h +++ b/test/stress/map/map_type_split_list.h @@ -161,7 +161,6 @@ namespace map { typedef SplitListMap< rcu_gpt, Key, Value, traits_SplitList_Michael_dyn_cmp > SplitList_Michael_RCU_GPT_dyn_cmp; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef SplitListMap< rcu_shb, Key, Value, traits_SplitList_Michael_dyn_cmp > SplitList_Michael_RCU_SHB_dyn_cmp; - typedef SplitListMap< rcu_sht, Key, Value, traits_SplitList_Michael_dyn_cmp > SplitList_Michael_RCU_SHT_dyn_cmp; #endif struct traits_SplitList_Michael_dyn_cmp_swar: public traits_SplitList_Michael_dyn_cmp @@ -176,7 +175,6 @@ namespace map { typedef SplitListMap< rcu_gpt, Key, Value, traits_SplitList_Michael_dyn_cmp_swar > SplitList_Michael_RCU_GPT_dyn_cmp_swar; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef SplitListMap< rcu_shb, Key, Value, traits_SplitList_Michael_dyn_cmp_swar > SplitList_Michael_RCU_SHB_dyn_cmp_swar; - typedef SplitListMap< rcu_sht, Key, Value, traits_SplitList_Michael_dyn_cmp_swar > SplitList_Michael_RCU_SHT_dyn_cmp_swar; #endif struct traits_SplitList_Michael_dyn_cmp_stat : public traits_SplitList_Michael_dyn_cmp @@ -195,7 +193,6 @@ namespace map { typedef SplitListMap< rcu_gpt, Key, Value, traits_SplitList_Michael_dyn_cmp_stat > SplitList_Michael_RCU_GPT_dyn_cmp_stat; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef SplitListMap< rcu_shb, Key, Value, traits_SplitList_Michael_dyn_cmp_stat > SplitList_Michael_RCU_SHB_dyn_cmp_stat; - typedef SplitListMap< rcu_sht, Key, Value, traits_SplitList_Michael_dyn_cmp_stat > SplitList_Michael_RCU_SHT_dyn_cmp_stat; #endif struct traits_SplitList_Michael_dyn_cmp_seqcst: public cc::split_list::make_traits< @@ -218,7 +215,6 @@ namespace map { typedef SplitListMap< rcu_gpt, Key, Value, traits_SplitList_Michael_dyn_cmp_seqcst > SplitList_Michael_RCU_GPT_dyn_cmp_seqcst; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef SplitListMap< rcu_shb, Key, Value, traits_SplitList_Michael_dyn_cmp_seqcst > SplitList_Michael_RCU_SHB_dyn_cmp_seqcst; - typedef SplitListMap< rcu_sht, Key, Value, traits_SplitList_Michael_dyn_cmp_seqcst > SplitList_Michael_RCU_SHT_dyn_cmp_seqcst; #endif struct traits_SplitList_Michael_st_cmp: public cc::split_list::make_traits< @@ -240,7 +236,6 @@ namespace map { typedef SplitListMap< rcu_gpt, Key, Value, traits_SplitList_Michael_st_cmp > SplitList_Michael_RCU_GPT_st_cmp; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef SplitListMap< rcu_shb, Key, Value, traits_SplitList_Michael_st_cmp > SplitList_Michael_RCU_SHB_st_cmp; - typedef SplitListMap< rcu_sht, Key, Value, traits_SplitList_Michael_st_cmp > SplitList_Michael_RCU_SHT_st_cmp; #endif //HP + less @@ -262,7 +257,6 @@ namespace map { typedef SplitListMap< rcu_gpt, Key, Value, traits_SplitList_Michael_dyn_less > SplitList_Michael_RCU_GPT_dyn_less; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef SplitListMap< rcu_shb, Key, Value, traits_SplitList_Michael_dyn_less > SplitList_Michael_RCU_SHB_dyn_less; - typedef SplitListMap< rcu_sht, Key, Value, traits_SplitList_Michael_dyn_less > SplitList_Michael_RCU_SHT_dyn_less; #endif @@ -285,7 +279,6 @@ namespace map { typedef SplitListMap< rcu_gpt, Key, Value, traits_SplitList_Michael_st_less > SplitList_Michael_RCU_GPT_st_less; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef SplitListMap< rcu_shb, Key, Value, traits_SplitList_Michael_st_less > SplitList_Michael_RCU_SHB_st_less; - typedef SplitListMap< rcu_sht, Key, Value, traits_SplitList_Michael_st_less > SplitList_Michael_RCU_SHT_st_less; #endif struct traits_SplitList_Michael_st_less_stat : traits_SplitList_Michael_st_less @@ -305,7 +298,6 @@ namespace map { typedef SplitListMap< rcu_gpt, Key, Value, traits_SplitList_Michael_st_less_stat > SplitList_Michael_RCU_GPT_st_less_stat; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef SplitListMap< rcu_shb, Key, Value, traits_SplitList_Michael_st_less_stat > SplitList_Michael_RCU_SHB_st_less_stat; - typedef SplitListMap< rcu_sht, Key, Value, traits_SplitList_Michael_st_less_stat > SplitList_Michael_RCU_SHT_st_less_stat; #endif @@ -331,7 +323,6 @@ namespace map { typedef SplitListMap< rcu_gpt, Key, Value, SplitList_Lazy_dyn_cmp > SplitList_Lazy_RCU_GPT_dyn_cmp; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef SplitListMap< rcu_shb, Key, Value, SplitList_Lazy_dyn_cmp > SplitList_Lazy_RCU_SHB_dyn_cmp; - typedef SplitListMap< rcu_sht, Key, Value, SplitList_Lazy_dyn_cmp > SplitList_Lazy_RCU_SHT_dyn_cmp; #endif struct SplitList_Lazy_dyn_cmp_stat : public SplitList_Lazy_dyn_cmp @@ -350,7 +341,6 @@ namespace map { typedef SplitListMap< rcu_gpt, Key, Value, SplitList_Lazy_dyn_cmp_stat > SplitList_Lazy_RCU_GPT_dyn_cmp_stat; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef SplitListMap< rcu_shb, Key, Value, SplitList_Lazy_dyn_cmp_stat > SplitList_Lazy_RCU_SHB_dyn_cmp_stat; - typedef SplitListMap< rcu_sht, Key, Value, SplitList_Lazy_dyn_cmp_stat > SplitList_Lazy_RCU_SHT_dyn_cmp_stat; #endif struct SplitList_Lazy_dyn_cmp_seqcst : @@ -374,7 +364,6 @@ namespace map { typedef SplitListMap< rcu_gpt, Key, Value, SplitList_Lazy_dyn_cmp_seqcst > SplitList_Lazy_RCU_GPT_dyn_cmp_seqcst; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef SplitListMap< rcu_shb, Key, Value, SplitList_Lazy_dyn_cmp_seqcst > SplitList_Lazy_RCU_SHB_dyn_cmp_seqcst; - typedef SplitListMap< rcu_sht, Key, Value, SplitList_Lazy_dyn_cmp_seqcst > SplitList_Lazy_RCU_SHT_dyn_cmp_seqcst; #endif struct SplitList_Lazy_st_cmp : @@ -397,7 +386,6 @@ namespace map { typedef SplitListMap< rcu_gpt, Key, Value, SplitList_Lazy_st_cmp > SplitList_Lazy_RCU_GPT_st_cmp; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef SplitListMap< rcu_shb, Key, Value, SplitList_Lazy_st_cmp > SplitList_Lazy_RCU_SHB_st_cmp; - typedef SplitListMap< rcu_sht, Key, Value, SplitList_Lazy_st_cmp > SplitList_Lazy_RCU_SHT_st_cmp; #endif @@ -420,7 +408,6 @@ namespace map { typedef SplitListMap< rcu_gpt, Key, Value, SplitList_Lazy_dyn_less > SplitList_Lazy_RCU_GPT_dyn_less; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef SplitListMap< rcu_shb, Key, Value, SplitList_Lazy_dyn_less > SplitList_Lazy_RCU_SHB_dyn_less; - typedef SplitListMap< rcu_sht, Key, Value, SplitList_Lazy_dyn_less > SplitList_Lazy_RCU_SHT_dyn_less; #endif struct SplitList_Lazy_st_less : @@ -443,7 +430,6 @@ namespace map { typedef SplitListMap< rcu_gpt, Key, Value, SplitList_Lazy_st_less > SplitList_Lazy_RCU_GPT_st_less; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef SplitListMap< rcu_shb, Key, Value, SplitList_Lazy_st_less > SplitList_Lazy_RCU_SHB_st_less; - typedef SplitListMap< rcu_sht, Key, Value, SplitList_Lazy_st_less > SplitList_Lazy_RCU_SHT_st_less; #endif struct SplitList_Lazy_st_less_stat : public SplitList_Lazy_st_less @@ -462,7 +448,6 @@ namespace map { typedef SplitListMap< rcu_gpt, Key, Value, SplitList_Lazy_st_less_stat > SplitList_Lazy_RCU_GPT_st_less_stat; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef SplitListMap< rcu_shb, Key, Value, SplitList_Lazy_st_less_stat > SplitList_Lazy_RCU_SHB_st_less_stat; - typedef SplitListMap< rcu_sht, Key, Value, SplitList_Lazy_st_less_stat > SplitList_Lazy_RCU_SHT_st_less_stat; #endif diff --git a/test/stress/pqueue/pop.cpp b/test/stress/pqueue/pop.cpp index 4c8dfa7b..577db2a9 100644 --- a/test/stress/pqueue/pop.cpp +++ b/test/stress/pqueue/pop.cpp @@ -267,10 +267,6 @@ namespace { CDSSTRESS_PriorityQueue( pqueue_pop, EllenBinTree_RCU_shb_max_stat ) CDSSTRESS_PriorityQueue( pqueue_pop, EllenBinTree_RCU_shb_min ) CDSSTRESS_PriorityQueue( pqueue_pop, EllenBinTree_RCU_shb_min_stat ) - CDSSTRESS_PriorityQueue( pqueue_pop, EllenBinTree_RCU_sht_max ) - CDSSTRESS_PriorityQueue( pqueue_pop, EllenBinTree_RCU_sht_max_stat ) - CDSSTRESS_PriorityQueue( pqueue_pop, EllenBinTree_RCU_sht_min ) - CDSSTRESS_PriorityQueue( pqueue_pop, EllenBinTree_RCU_sht_min_stat ) #endif CDSSTRESS_PriorityQueue( pqueue_pop, SkipList_HP_max ) @@ -290,8 +286,6 @@ namespace { #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED CDSSTRESS_PriorityQueue( pqueue_pop, SkipList_RCU_shb_max ) CDSSTRESS_PriorityQueue( pqueue_pop, SkipList_RCU_shb_min ) - CDSSTRESS_PriorityQueue( pqueue_pop, SkipList_RCU_sht_max ) - CDSSTRESS_PriorityQueue( pqueue_pop, SkipList_RCU_sht_min ) #endif CDSSTRESS_PriorityQueue( pqueue_pop, StdPQueue_vector_spin ) diff --git a/test/stress/pqueue/pqueue_type.h b/test/stress/pqueue/pqueue_type.h index 3ae99110..aa33e8ac 100644 --- a/test/stress/pqueue/pqueue_type.h +++ b/test/stress/pqueue/pqueue_type.h @@ -35,7 +35,6 @@ #include #include #include -#include #include #include @@ -357,7 +356,6 @@ namespace pqueue { typedef cds::urcu::gc< cds::urcu::general_threaded<> > rcu_gpt; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef cds::urcu::gc< cds::urcu::signal_buffered<> > rcu_shb; - typedef cds::urcu::gc< cds::urcu::signal_threaded<> > rcu_sht; #endif @@ -437,7 +435,6 @@ namespace pqueue { typedef details::EllenBinTreePQueue< rcu_gpt, typename Value::key_type, Value, traits_EllenBinTree_max > EllenBinTree_RCU_gpt_max; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef details::EllenBinTreePQueue< rcu_shb, typename Value::key_type, Value, traits_EllenBinTree_max > EllenBinTree_RCU_shb_max; - typedef details::EllenBinTreePQueue< rcu_sht, typename Value::key_type, Value, traits_EllenBinTree_max > EllenBinTree_RCU_sht_max; #endif struct traits_EllenBinTree_max_stat : @@ -454,7 +451,6 @@ namespace pqueue { typedef details::EllenBinTreePQueue< rcu_gpt, typename Value::key_type, Value, traits_EllenBinTree_max_stat > EllenBinTree_RCU_gpt_max_stat; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef details::EllenBinTreePQueue< rcu_shb, typename Value::key_type, Value, traits_EllenBinTree_max_stat > EllenBinTree_RCU_shb_max_stat; - typedef details::EllenBinTreePQueue< rcu_sht, typename Value::key_type, Value, traits_EllenBinTree_max_stat > EllenBinTree_RCU_sht_max_stat; #endif struct traits_EllenBinTree_min : @@ -470,7 +466,6 @@ namespace pqueue { typedef details::EllenBinTreePQueue< rcu_gpt, typename Value::key_type, Value, traits_EllenBinTree_min, false > EllenBinTree_RCU_gpt_min; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef details::EllenBinTreePQueue< rcu_shb, typename Value::key_type, Value, traits_EllenBinTree_min, false > EllenBinTree_RCU_shb_min; - typedef details::EllenBinTreePQueue< rcu_sht, typename Value::key_type, Value, traits_EllenBinTree_min, false > EllenBinTree_RCU_sht_min; #endif struct traits_EllenBinTree_min_stat : @@ -487,7 +482,6 @@ namespace pqueue { typedef details::EllenBinTreePQueue< rcu_gpt, typename Value::key_type, Value, traits_EllenBinTree_min_stat, false > EllenBinTree_RCU_gpt_min_stat; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef details::EllenBinTreePQueue< rcu_shb, typename Value::key_type, Value, traits_EllenBinTree_min_stat, false > EllenBinTree_RCU_shb_min_stat; - typedef details::EllenBinTreePQueue< rcu_sht, typename Value::key_type, Value, traits_EllenBinTree_min_stat, false > EllenBinTree_RCU_sht_min_stat; #endif // Priority queue based on SkipListSet @@ -503,7 +497,6 @@ namespace pqueue { typedef details::SkipListPQueue< rcu_gpt, Value, traits_SkipList_max > SkipList_RCU_gpt_max; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef details::SkipListPQueue< rcu_shb, Value, traits_SkipList_max > SkipList_RCU_shb_max; - typedef details::SkipListPQueue< rcu_sht, Value, traits_SkipList_max > SkipList_RCU_sht_max; #endif struct traits_SkipList_max_stat : @@ -519,7 +512,6 @@ namespace pqueue { typedef details::SkipListPQueue< rcu_gpt, Value, traits_SkipList_max_stat > SkipList_RCU_gpt_max_stat; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef details::SkipListPQueue< rcu_shb, Value, traits_SkipList_max_stat > SkipList_RCU_shb_max_stat; - typedef details::SkipListPQueue< rcu_sht, Value, traits_SkipList_max_stat > SkipList_RCU_sht_max_stat; #endif struct traits_SkipList_min : @@ -534,7 +526,6 @@ namespace pqueue { typedef details::SkipListPQueue< rcu_gpt, Value, traits_SkipList_min, false > SkipList_RCU_gpt_min; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef details::SkipListPQueue< rcu_shb, Value, traits_SkipList_min, false > SkipList_RCU_shb_min; - typedef details::SkipListPQueue< rcu_sht, Value, traits_SkipList_min, false > SkipList_RCU_sht_min; #endif struct traits_SkipList_min_stat : @@ -550,7 +541,6 @@ namespace pqueue { typedef details::SkipListPQueue< rcu_gpt, Value, traits_SkipList_min_stat, false > SkipList_RCU_gpt_min_stat; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef details::SkipListPQueue< rcu_shb, Value, traits_SkipList_min_stat, false > SkipList_RCU_shb_min_stat; - typedef details::SkipListPQueue< rcu_sht, Value, traits_SkipList_min_stat, false > SkipList_RCU_sht_min_stat; #endif diff --git a/test/stress/pqueue/push.cpp b/test/stress/pqueue/push.cpp index 07f3ce8f..2d3b4db7 100644 --- a/test/stress/pqueue/push.cpp +++ b/test/stress/pqueue/push.cpp @@ -228,10 +228,6 @@ namespace pqueue { CDSSTRESS_PriorityQueue( pqueue_push, EllenBinTree_RCU_shb_max_stat ) CDSSTRESS_PriorityQueue( pqueue_push, EllenBinTree_RCU_shb_min ) CDSSTRESS_PriorityQueue( pqueue_push, EllenBinTree_RCU_shb_min_stat ) - CDSSTRESS_PriorityQueue( pqueue_push, EllenBinTree_RCU_sht_max ) - CDSSTRESS_PriorityQueue( pqueue_push, EllenBinTree_RCU_sht_max_stat ) - CDSSTRESS_PriorityQueue( pqueue_push, EllenBinTree_RCU_sht_min ) - CDSSTRESS_PriorityQueue( pqueue_push, EllenBinTree_RCU_sht_min_stat ) #endif CDSSTRESS_PriorityQueue( pqueue_push, SkipList_HP_max ) @@ -251,8 +247,6 @@ namespace pqueue { #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED CDSSTRESS_PriorityQueue( pqueue_push, SkipList_RCU_shb_max ) CDSSTRESS_PriorityQueue( pqueue_push, SkipList_RCU_shb_min ) - CDSSTRESS_PriorityQueue( pqueue_push, SkipList_RCU_sht_max ) - CDSSTRESS_PriorityQueue( pqueue_push, SkipList_RCU_sht_min ) #endif CDSSTRESS_PriorityQueue( pqueue_push, StdPQueue_vector_spin ) diff --git a/test/stress/pqueue/push_pop.cpp b/test/stress/pqueue/push_pop.cpp index a7df346a..4e048365 100644 --- a/test/stress/pqueue/push_pop.cpp +++ b/test/stress/pqueue/push_pop.cpp @@ -282,10 +282,6 @@ namespace { CDSSTRESS_PriorityQueue( pqueue_push_pop, EllenBinTree_RCU_shb_max_stat ) CDSSTRESS_PriorityQueue( pqueue_push_pop, EllenBinTree_RCU_shb_min ) CDSSTRESS_PriorityQueue( pqueue_push_pop, EllenBinTree_RCU_shb_min_stat ) - CDSSTRESS_PriorityQueue( pqueue_push_pop, EllenBinTree_RCU_sht_max ) - CDSSTRESS_PriorityQueue( pqueue_push_pop, EllenBinTree_RCU_sht_max_stat ) - CDSSTRESS_PriorityQueue( pqueue_push_pop, EllenBinTree_RCU_sht_min ) - CDSSTRESS_PriorityQueue( pqueue_push_pop, EllenBinTree_RCU_sht_min_stat ) #endif CDSSTRESS_PriorityQueue( pqueue_push_pop, SkipList_HP_max ) @@ -305,8 +301,6 @@ namespace { #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED CDSSTRESS_PriorityQueue( pqueue_push_pop, SkipList_RCU_shb_max ) CDSSTRESS_PriorityQueue( pqueue_push_pop, SkipList_RCU_shb_min ) - CDSSTRESS_PriorityQueue( pqueue_push_pop, SkipList_RCU_sht_max ) - CDSSTRESS_PriorityQueue( pqueue_push_pop, SkipList_RCU_sht_min ) #endif CDSSTRESS_PriorityQueue( pqueue_push_pop, StdPQueue_vector_spin ) diff --git a/test/stress/set/set_type.h b/test/stress/set/set_type.h index 20a6369b..14d365cc 100644 --- a/test/stress/set/set_type.h +++ b/test/stress/set/set_type.h @@ -35,7 +35,6 @@ #include #include #include -#include #include #include @@ -51,7 +50,6 @@ namespace set { typedef cds::urcu::gc< cds::urcu::general_threaded_stripped > rcu_gpt; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef cds::urcu::gc< cds::urcu::signal_buffered_stripped > rcu_shb; - typedef cds::urcu::gc< cds::urcu::signal_threaded_stripped > rcu_sht; #endif template diff --git a/test/stress/set/set_type_ellen_bintree.h b/test/stress/set/set_type_ellen_bintree.h index 5344ba51..09f2d9a8 100644 --- a/test/stress/set/set_type_ellen_bintree.h +++ b/test/stress/set/set_type_ellen_bintree.h @@ -129,11 +129,6 @@ namespace set { typedef cc::ellen_bintree::internal_node< key_type, leaf_node > internal_node; typedef cc::ellen_bintree::update_desc< leaf_node, internal_node > update_desc; }; - struct sht { - typedef cc::ellen_bintree::node leaf_node; - typedef cc::ellen_bintree::internal_node< key_type, leaf_node > internal_node; - typedef cc::ellen_bintree::update_desc< leaf_node, internal_node > update_desc; - }; #endif }; @@ -180,12 +175,6 @@ namespace set { typedef cds::memory::pool_allocator< typename ellen_bintree_props::shb::update_desc, ellen_bintree_pool::update_desc_pool_accessor > update_desc_allocator; }; typedef EllenBinTreeSet< rcu_shb, key_type, key_val, traits_EllenBinTreeSet_shb > EllenBinTreeSet_rcu_shb; - - struct traits_EllenBinTreeSet_sht : public traits_EllenBinTreeSet - { - typedef cds::memory::pool_allocator< typename ellen_bintree_props::sht::update_desc, ellen_bintree_pool::update_desc_pool_accessor > update_desc_allocator; - }; - typedef EllenBinTreeSet< rcu_sht, key_type, key_val, traits_EllenBinTreeSet_sht > EllenBinTreeSet_rcu_sht; #endif // @@ -258,12 +247,6 @@ namespace set { typedef cds::memory::pool_allocator< typename ellen_bintree_props::shb::update_desc, ellen_bintree_pool::update_desc_pool_accessor > update_desc_allocator; }; typedef EllenBinTreeSet< rcu_shb, key_type, key_val, traits_EllenBinTreeSet_stat_shb > EllenBinTreeSet_rcu_shb_stat; - - struct traits_EllenBinTreeSet_stat_sht : public traits_EllenBinTreeSet_stat - { - typedef cds::memory::pool_allocator< typename ellen_bintree_props::sht::update_desc, ellen_bintree_pool::update_desc_pool_accessor > update_desc_allocator; - }; - typedef EllenBinTreeSet< rcu_sht, key_type, key_val, traits_EllenBinTreeSet_stat_sht > EllenBinTreeSet_rcu_sht_stat; #endif }; @@ -299,16 +282,6 @@ namespace set { //typedef EllenBinTreeSet set_type; GC::force_dispose(); ellen_bintree_check::check_stat( s.statistics()); -/* - bool const threaded_rcu = std::is_same::value -#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED - || std::is_same::value -#endif -; - if ( !threaded_rcu ) { - EXPECT_EQ( ellen_bintree_pool::internal_node_counter::m_nAlloc.get(), ellen_bintree_pool::internal_node_counter::m_nFree.get()); - } -*/ } template @@ -334,9 +307,8 @@ namespace set { #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED # define CDSSTRESS_EllenBinTreeSet_SHRCU( fixture, test_case, key_type, value_type ) \ CDSSTRESS_EllenBinTreeSet_case( fixture, test_case, EllenBinTreeSet_rcu_shb, key_type, value_type ) \ - CDSSTRESS_EllenBinTreeSet_case( fixture, test_case, EllenBinTreeSet_rcu_sht, key_type, value_type ) \ CDSSTRESS_EllenBinTreeSet_case( fixture, test_case, EllenBinTreeSet_rcu_shb_stat, key_type, value_type ) \ - CDSSTRESS_EllenBinTreeSet_case( fixture, test_case, EllenBinTreeSet_rcu_sht_stat, key_type, value_type ) + #else # define CDSSTRESS_EllenBinTreeSet_SHRCU( fixture, test_case, key_type, value_type ) #endif diff --git a/test/stress/set/set_type_feldman_hashset.h b/test/stress/set/set_type_feldman_hashset.h index 2822911a..bfb9abeb 100644 --- a/test/stress/set/set_type_feldman_hashset.h +++ b/test/stress/set/set_type_feldman_hashset.h @@ -195,7 +195,6 @@ namespace set { typedef FeldmanHashSet< rcu_gpt, key_val>, default_traits > FeldmanHashSet_rcu_gpt_stdhash; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef FeldmanHashSet< rcu_shb, key_val>, default_traits > FeldmanHashSet_rcu_shb_stdhash; - typedef FeldmanHashSet< rcu_sht, key_val>, default_traits > FeldmanHashSet_rcu_sht_stdhash; #endif struct traits_FeldmanHashSet_stat: public cc::feldman_hashset::make_traits< @@ -211,7 +210,6 @@ namespace set { typedef FeldmanHashSet< rcu_gpt, key_val>, traits_FeldmanHashSet_stat > FeldmanHashSet_rcu_gpt_stdhash_stat; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef FeldmanHashSet< rcu_shb, key_val>, traits_FeldmanHashSet_stat > FeldmanHashSet_rcu_shb_stdhash_stat; - typedef FeldmanHashSet< rcu_sht, key_val>, traits_FeldmanHashSet_stat > FeldmanHashSet_rcu_sht_stdhash_stat; #endif // CityHash @@ -227,7 +225,6 @@ namespace set { typedef FeldmanHashSet< rcu_gpt, key_val<::cds_test::city64>, traits_FeldmanHashSet_city64 > FeldmanHashSet_rcu_gpt_city64; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef FeldmanHashSet< rcu_shb, key_val<::cds_test::city64>, traits_FeldmanHashSet_city64 > FeldmanHashSet_rcu_shb_city64; - typedef FeldmanHashSet< rcu_sht, key_val<::cds_test::city64>, traits_FeldmanHashSet_city64 > FeldmanHashSet_rcu_sht_city64; #endif struct traits_FeldmanHashSet_city64_stat : public traits_FeldmanHashSet_city64 @@ -241,7 +238,6 @@ namespace set { typedef FeldmanHashSet< rcu_gpt, key_val<::cds_test::city64>, traits_FeldmanHashSet_city64_stat > FeldmanHashSet_rcu_gpt_city64_stat; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef FeldmanHashSet< rcu_shb, key_val<::cds_test::city64>, traits_FeldmanHashSet_city64_stat > FeldmanHashSet_rcu_shb_city64_stat; - typedef FeldmanHashSet< rcu_sht, key_val<::cds_test::city64>, traits_FeldmanHashSet_city64_stat > FeldmanHashSet_rcu_sht_city64_stat; #endif struct traits_FeldmanHashSet_city128 : public default_traits @@ -255,7 +251,6 @@ namespace set { typedef FeldmanHashSet< rcu_gpt, key_val<::cds_test::city128>, traits_FeldmanHashSet_city128 > FeldmanHashSet_rcu_gpt_city128; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef FeldmanHashSet< rcu_shb, key_val<::cds_test::city128>, traits_FeldmanHashSet_city128 > FeldmanHashSet_rcu_shb_city128; - typedef FeldmanHashSet< rcu_sht, key_val<::cds_test::city128>, traits_FeldmanHashSet_city128 > FeldmanHashSet_rcu_sht_city128; #endif struct traits_FeldmanHashSet_city128_stat : public traits_FeldmanHashSet_city128 @@ -269,7 +264,6 @@ namespace set { typedef FeldmanHashSet< rcu_gpt, key_val<::cds_test::city128>, traits_FeldmanHashSet_city128_stat > FeldmanHashSet_rcu_gpt_city128_stat; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef FeldmanHashSet< rcu_shb, key_val<::cds_test::city128>, traits_FeldmanHashSet_city128_stat > FeldmanHashSet_rcu_shb_city128_stat; - typedef FeldmanHashSet< rcu_sht, key_val<::cds_test::city128>, traits_FeldmanHashSet_city128_stat > FeldmanHashSet_rcu_sht_city128_stat; #endif #endif // #if CDS_BUILD_BITS == 64 @@ -344,7 +338,6 @@ namespace set { typedef FeldmanHashSet< rcu_gpt, typename fixed_sized_key::key_val, typename fixed_sized_key::traits > FeldmanHashSet_rcu_gpt_fixed; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef FeldmanHashSet< rcu_shb, typename fixed_sized_key::key_val, typename fixed_sized_key::traits > FeldmanHashSet_rcu_shb_fixed; - typedef FeldmanHashSet< rcu_sht, typename fixed_sized_key::key_val, typename fixed_sized_key::traits > FeldmanHashSet_rcu_sht_fixed; #endif typedef FeldmanHashSet< cds::gc::HP, typename fixed_sized_key::key_val, typename fixed_sized_key::traits_stat > FeldmanHashSet_hp_fixed_stat; @@ -354,7 +347,6 @@ namespace set { typedef FeldmanHashSet< rcu_gpt, typename fixed_sized_key::key_val, typename fixed_sized_key::traits_stat > FeldmanHashSet_rcu_gpt_fixed_stat; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef FeldmanHashSet< rcu_shb, typename fixed_sized_key::key_val, typename fixed_sized_key::traits_stat > FeldmanHashSet_rcu_shb_fixed_stat; - typedef FeldmanHashSet< rcu_sht, typename fixed_sized_key::key_val, typename fixed_sized_key::traits_stat > FeldmanHashSet_rcu_sht_fixed_stat; #endif }; @@ -380,26 +372,19 @@ namespace set { #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED # define CDSSTRESS_FeldmanHashSet_fixed_SHRCU( fixture, test_case, key_type, value_type ) \ CDSSTRESS_FeldmanHashSet_case( fixture, test_case, FeldmanHashSet_rcu_shb_fixed, key_type, value_type ) \ - CDSSTRESS_FeldmanHashSet_case( fixture, test_case, FeldmanHashSet_rcu_sht_fixed, key_type, value_type ) \ CDSSTRESS_FeldmanHashSet_case( fixture, test_case, FeldmanHashSet_rcu_shb_fixed_stat, key_type, value_type ) \ - CDSSTRESS_FeldmanHashSet_case( fixture, test_case, FeldmanHashSet_rcu_sht_fixed_stat, key_type, value_type ) # define CDSSTRESS_FeldmanHashSet_stdhash_SHRCU( fixture, test_case, key_type, value_type ) \ CDSSTRESS_FeldmanHashSet_case( fixture, test_case, FeldmanHashSet_rcu_shb_stdhash, key_type, value_type ) \ - CDSSTRESS_FeldmanHashSet_case( fixture, test_case, FeldmanHashSet_rcu_sht_stdhash, key_type, value_type ) \ CDSSTRESS_FeldmanHashSet_case( fixture, test_case, FeldmanHashSet_rcu_shb_stdhash_stat, key_type, value_type ) \ - CDSSTRESS_FeldmanHashSet_case( fixture, test_case, FeldmanHashSet_rcu_sht_stdhash_stat, key_type, value_type ) # if CDS_BUILD_BITS == 64 # define CDSSTRESS_FeldmanHashSet_city_SHRCU( fixture, test_case, key_type, value_type ) \ CDSSTRESS_FeldmanHashSet_case( fixture, test_case, FeldmanHashSet_rcu_shb_city64, key_type, value_type ) \ - CDSSTRESS_FeldmanHashSet_case( fixture, test_case, FeldmanHashSet_rcu_sht_city64, key_type, value_type ) \ CDSSTRESS_FeldmanHashSet_case( fixture, test_case, FeldmanHashSet_rcu_shb_city64_stat, key_type, value_type ) \ - CDSSTRESS_FeldmanHashSet_case( fixture, test_case, FeldmanHashSet_rcu_sht_city64_stat, key_type, value_type ) \ CDSSTRESS_FeldmanHashSet_case( fixture, test_case, FeldmanHashSet_rcu_shb_city128, key_type, value_type ) \ - CDSSTRESS_FeldmanHashSet_case( fixture, test_case, FeldmanHashSet_rcu_sht_city128, key_type, value_type ) \ CDSSTRESS_FeldmanHashSet_case( fixture, test_case, FeldmanHashSet_rcu_shb_city128_stat, key_type, value_type ) \ - CDSSTRESS_FeldmanHashSet_case( fixture, test_case, FeldmanHashSet_rcu_sht_city128_stat, key_type, value_type ) + # else # define CDSSTRESS_FeldmanHashSet_city_SHRCU( fixture, test_case, key_type, value_type ) # endif diff --git a/test/stress/set/set_type_lazy_list.h b/test/stress/set/set_type_lazy_list.h index ecd36ad8..e00c9faf 100644 --- a/test/stress/set/set_type_lazy_list.h +++ b/test/stress/set/set_type_lazy_list.h @@ -58,7 +58,6 @@ namespace set { typedef cc::LazyList< rcu_gpt, key_val, traits_LazyList_cmp > LazyList_RCU_GPT_cmp; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef cc::LazyList< rcu_shb, key_val, traits_LazyList_cmp > LazyList_RCU_SHB_cmp; - typedef cc::LazyList< rcu_sht, key_val, traits_LazyList_cmp > LazyList_RCU_SHT_cmp; #endif struct traits_LazyList_cmp_stat : public traits_LazyList_cmp @@ -72,7 +71,6 @@ namespace set { typedef cc::LazyList< rcu_gpt, key_val, traits_LazyList_cmp_stat > LazyList_RCU_GPT_cmp_stat; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef cc::LazyList< rcu_shb, key_val, traits_LazyList_cmp_stat > LazyList_RCU_SHB_cmp_stat; - typedef cc::LazyList< rcu_sht, key_val, traits_LazyList_cmp_stat > LazyList_RCU_SHT_cmp_stat; #endif struct traits_LazyList_cmp_seqcst : @@ -88,7 +86,6 @@ namespace set { typedef cc::LazyList< rcu_gpt, key_val, traits_LazyList_cmp_seqcst > LazyList_RCU_GPT_cmp_seqcst; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef cc::LazyList< rcu_shb, key_val, traits_LazyList_cmp_seqcst > LazyList_RCU_SHB_cmp_seqcst; - typedef cc::LazyList< rcu_sht, key_val, traits_LazyList_cmp_seqcst > LazyList_RCU_SHT_cmp_seqcst; #endif struct traits_LazyList_less: @@ -103,7 +100,6 @@ namespace set { typedef cc::LazyList< rcu_gpt, key_val, traits_LazyList_less > LazyList_RCU_GPT_less; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef cc::LazyList< rcu_shb, key_val, traits_LazyList_less > LazyList_RCU_SHB_less; - typedef cc::LazyList< rcu_sht, key_val, traits_LazyList_less > LazyList_RCU_SHT_less; #endif struct traits_LazyList_less_stat: public traits_LazyList_less @@ -117,7 +113,6 @@ namespace set { typedef cc::LazyList< rcu_gpt, key_val, traits_LazyList_less_stat > LazyList_RCU_GPT_less_stat; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef cc::LazyList< rcu_shb, key_val, traits_LazyList_less_stat > LazyList_RCU_SHB_less_stat; - typedef cc::LazyList< rcu_sht, key_val, traits_LazyList_less_stat > LazyList_RCU_SHT_less_stat; #endif struct traits_LazyList_less_seqcst : @@ -133,7 +128,6 @@ namespace set { typedef cc::LazyList< rcu_gpt, key_val, traits_LazyList_less_seqcst > LazyList_RCU_GPT_less_seqcst; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef cc::LazyList< rcu_shb, key_val, traits_LazyList_less_seqcst > LazyList_RCU_SHB_less_seqcst; - typedef cc::LazyList< rcu_sht, key_val, traits_LazyList_less_seqcst > LazyList_RCU_SHT_less_seqcst; #endif }; diff --git a/test/stress/set/set_type_michael.h b/test/stress/set/set_type_michael.h index 24bf5f0b..c1438133 100644 --- a/test/stress/set/set_type_michael.h +++ b/test/stress/set/set_type_michael.h @@ -102,7 +102,6 @@ namespace set { typedef MichaelHashSet< rcu_gpt, typename ml::MichaelList_RCU_GPT_cmp, traits_MichaelSet > MichaelSet_RCU_GPT_cmp; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef MichaelHashSet< rcu_shb, typename ml::MichaelList_RCU_SHB_cmp, traits_MichaelSet > MichaelSet_RCU_SHB_cmp; - typedef MichaelHashSet< rcu_sht, typename ml::MichaelList_RCU_SHT_cmp, traits_MichaelSet > MichaelSet_RCU_SHT_cmp; #endif typedef MichaelHashSet< cds::gc::HP, typename ml::MichaelList_HP_cmp_stat, traits_MichaelSet > MichaelSet_HP_cmp_stat; @@ -112,7 +111,6 @@ namespace set { typedef MichaelHashSet< rcu_gpt, typename ml::MichaelList_RCU_GPT_cmp_stat, traits_MichaelSet > MichaelSet_RCU_GPT_cmp_stat; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef MichaelHashSet< rcu_shb, typename ml::MichaelList_RCU_SHB_cmp_stat, traits_MichaelSet > MichaelSet_RCU_SHB_cmp_stat; - typedef MichaelHashSet< rcu_sht, typename ml::MichaelList_RCU_SHT_cmp_stat, traits_MichaelSet > MichaelSet_RCU_SHT_cmp_stat; #endif typedef MichaelHashSet< cds::gc::HP, typename ml::MichaelList_HP_less, traits_MichaelSet > MichaelSet_HP_less; @@ -122,7 +120,6 @@ namespace set { typedef MichaelHashSet< rcu_gpt, typename ml::MichaelList_RCU_GPT_less, traits_MichaelSet > MichaelSet_RCU_GPT_less; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef MichaelHashSet< rcu_shb, typename ml::MichaelList_RCU_SHB_less, traits_MichaelSet > MichaelSet_RCU_SHB_less; - typedef MichaelHashSet< rcu_sht, typename ml::MichaelList_RCU_SHT_less, traits_MichaelSet > MichaelSet_RCU_SHT_less; #endif typedef MichaelHashSet< cds::gc::HP, typename ml::MichaelList_HP_less_stat, traits_MichaelSet > MichaelSet_HP_less_stat; @@ -132,7 +129,6 @@ namespace set { typedef MichaelHashSet< rcu_gpt, typename ml::MichaelList_RCU_GPT_less_stat, traits_MichaelSet > MichaelSet_RCU_GPT_less_stat; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef MichaelHashSet< rcu_shb, typename ml::MichaelList_RCU_SHB_less_stat, traits_MichaelSet > MichaelSet_RCU_SHB_less_stat; - typedef MichaelHashSet< rcu_sht, typename ml::MichaelList_RCU_SHT_less_stat, traits_MichaelSet > MichaelSet_RCU_SHT_less_stat; #endif typedef MichaelHashSet< cds::gc::HP, typename ml::MichaelList_HP_less_seqcst, traits_MichaelSet > MichaelSet_HP_less_seqcst; @@ -142,7 +138,6 @@ namespace set { typedef MichaelHashSet< rcu_gpt, typename ml::MichaelList_RCU_GPT_less_seqcst, traits_MichaelSet > MichaelSet_RCU_GPT_less_seqcst; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef MichaelHashSet< rcu_shb, typename ml::MichaelList_RCU_SHB_less_seqcst, traits_MichaelSet > MichaelSet_RCU_SHB_less_seqcst; - typedef MichaelHashSet< rcu_sht, typename ml::MichaelList_RCU_SHT_less_seqcst, traits_MichaelSet > MichaelSet_RCU_SHT_less_seqcst; #endif @@ -158,7 +153,6 @@ namespace set { typedef MichaelHashSet< rcu_gpt, typename ll::LazyList_RCU_GPT_cmp, traits_MichaelSet > MichaelSet_Lazy_RCU_GPT_cmp; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef MichaelHashSet< rcu_shb, typename ll::LazyList_RCU_SHB_cmp, traits_MichaelSet > MichaelSet_Lazy_RCU_SHB_cmp; - typedef MichaelHashSet< rcu_sht, typename ll::LazyList_RCU_SHT_cmp, traits_MichaelSet > MichaelSet_Lazy_RCU_SHT_cmp; #endif typedef MichaelHashSet< cds::gc::HP, typename ll::LazyList_HP_cmp_stat, traits_MichaelSet > MichaelSet_Lazy_HP_cmp_stat; @@ -168,7 +162,6 @@ namespace set { typedef MichaelHashSet< rcu_gpt, typename ll::LazyList_RCU_GPT_cmp_stat, traits_MichaelSet > MichaelSet_Lazy_RCU_GPT_cmp_stat; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef MichaelHashSet< rcu_shb, typename ll::LazyList_RCU_SHB_cmp_stat, traits_MichaelSet > MichaelSet_Lazy_RCU_SHB_cmp_stat; - typedef MichaelHashSet< rcu_sht, typename ll::LazyList_RCU_SHT_cmp_stat, traits_MichaelSet > MichaelSet_Lazy_RCU_SHT_cmp_stat; #endif typedef MichaelHashSet< cds::gc::HP, typename ll::LazyList_HP_less, traits_MichaelSet > MichaelSet_Lazy_HP_less; @@ -178,7 +171,6 @@ namespace set { typedef MichaelHashSet< rcu_gpt, typename ll::LazyList_RCU_GPT_less, traits_MichaelSet > MichaelSet_Lazy_RCU_GPT_less; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef MichaelHashSet< rcu_shb, typename ll::LazyList_RCU_SHB_less, traits_MichaelSet > MichaelSet_Lazy_RCU_SHB_less; - typedef MichaelHashSet< rcu_sht, typename ll::LazyList_RCU_SHT_less, traits_MichaelSet > MichaelSet_Lazy_RCU_SHT_less; #endif typedef MichaelHashSet< cds::gc::HP, typename ll::LazyList_HP_less_stat, traits_MichaelSet > MichaelSet_Lazy_HP_less_stat; @@ -188,7 +180,6 @@ namespace set { typedef MichaelHashSet< rcu_gpt, typename ll::LazyList_RCU_GPT_less_stat, traits_MichaelSet > MichaelSet_Lazy_RCU_GPT_less_stat; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef MichaelHashSet< rcu_shb, typename ll::LazyList_RCU_SHB_less_stat, traits_MichaelSet > MichaelSet_Lazy_RCU_SHB_less_stat; - typedef MichaelHashSet< rcu_sht, typename ll::LazyList_RCU_SHT_less_stat, traits_MichaelSet > MichaelSet_Lazy_RCU_SHT_less_stat; #endif typedef MichaelHashSet< cds::gc::HP, typename ll::LazyList_HP_less_seqcst, traits_MichaelSet > MichaelSet_Lazy_HP_less_seqcst; @@ -198,7 +189,6 @@ namespace set { typedef MichaelHashSet< rcu_gpt, typename ll::LazyList_RCU_GPT_less_seqcst, traits_MichaelSet > MichaelSet_Lazy_RCU_GPT_less_seqcst; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef MichaelHashSet< rcu_shb, typename ll::LazyList_RCU_SHB_less_seqcst, traits_MichaelSet > MichaelSet_Lazy_RCU_SHB_less_seqcst; - typedef MichaelHashSet< rcu_sht, typename ll::LazyList_RCU_SHT_less_seqcst, traits_MichaelSet > MichaelSet_Lazy_RCU_SHT_less_seqcst; #endif diff --git a/test/stress/set/set_type_michael_list.h b/test/stress/set/set_type_michael_list.h index 9bfdd355..1ce5268c 100644 --- a/test/stress/set/set_type_michael_list.h +++ b/test/stress/set/set_type_michael_list.h @@ -58,7 +58,6 @@ namespace set { typedef cc::MichaelList< rcu_gpt, key_val, traits_MichaelList_cmp > MichaelList_RCU_GPT_cmp; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef cc::MichaelList< rcu_shb, key_val, traits_MichaelList_cmp > MichaelList_RCU_SHB_cmp; - typedef cc::MichaelList< rcu_sht, key_val, traits_MichaelList_cmp > MichaelList_RCU_SHT_cmp; #endif struct traits_MichaelList_cmp_stat: public traits_MichaelList_cmp @@ -72,7 +71,6 @@ namespace set { typedef cc::MichaelList< rcu_gpt, key_val, traits_MichaelList_cmp_stat > MichaelList_RCU_GPT_cmp_stat; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef cc::MichaelList< rcu_shb, key_val, traits_MichaelList_cmp_stat > MichaelList_RCU_SHB_cmp_stat; - typedef cc::MichaelList< rcu_sht, key_val, traits_MichaelList_cmp_stat > MichaelList_RCU_SHT_cmp_stat; #endif struct traits_MichaelList_cmp_seqcst : public traits_MichaelList_cmp @@ -86,7 +84,6 @@ namespace set { typedef cc::MichaelList< rcu_gpt, key_val, traits_MichaelList_cmp_seqcst > MichaelList_RCU_GPT_cmp_seqcst; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef cc::MichaelList< rcu_shb, key_val, traits_MichaelList_cmp_seqcst > MichaelList_RCU_SHB_cmp_seqcst; - typedef cc::MichaelList< rcu_sht, key_val, traits_MichaelList_cmp_seqcst > MichaelList_RCU_SHT_cmp_seqcst; #endif struct traits_MichaelList_less : @@ -101,7 +98,6 @@ namespace set { typedef cc::MichaelList< rcu_gpt, key_val, traits_MichaelList_less > MichaelList_RCU_GPT_less; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef cc::MichaelList< rcu_shb, key_val, traits_MichaelList_less > MichaelList_RCU_SHB_less; - typedef cc::MichaelList< rcu_sht, key_val, traits_MichaelList_less > MichaelList_RCU_SHT_less; #endif struct traits_MichaelList_less_stat : public traits_MichaelList_less @@ -115,7 +111,6 @@ namespace set { typedef cc::MichaelList< rcu_gpt, key_val, traits_MichaelList_less_stat > MichaelList_RCU_GPT_less_stat; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef cc::MichaelList< rcu_shb, key_val, traits_MichaelList_less_stat > MichaelList_RCU_SHB_less_stat; - typedef cc::MichaelList< rcu_sht, key_val, traits_MichaelList_less_stat > MichaelList_RCU_SHT_less_stat; #endif struct traits_MichaelList_less_seqcst : @@ -131,7 +126,6 @@ namespace set { typedef cc::MichaelList< rcu_gpt, key_val, traits_MichaelList_less_seqcst > MichaelList_RCU_GPT_less_seqcst; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef cc::MichaelList< rcu_shb, key_val, traits_MichaelList_less_seqcst > MichaelList_RCU_SHB_less_seqcst; - typedef cc::MichaelList< rcu_sht, key_val, traits_MichaelList_less_seqcst > MichaelList_RCU_SHT_less_seqcst; #endif }; diff --git a/test/stress/set/set_type_skip_list.h b/test/stress/set/set_type_skip_list.h index 3d14830a..539f3014 100644 --- a/test/stress/set/set_type_skip_list.h +++ b/test/stress/set/set_type_skip_list.h @@ -80,7 +80,6 @@ namespace set { typedef SkipListSet< rcu_gpt, key_val, traits_SkipListSet_less_pascal > SkipListSet_rcu_gpt_less_pascal; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef SkipListSet< rcu_shb, key_val, traits_SkipListSet_less_pascal > SkipListSet_rcu_shb_less_pascal; - typedef SkipListSet< rcu_sht, key_val, traits_SkipListSet_less_pascal > SkipListSet_rcu_sht_less_pascal; #endif class traits_SkipListSet_less_pascal_seqcst: public cc::skip_list::make_traits < @@ -97,7 +96,6 @@ namespace set { typedef SkipListSet< rcu_gpt, key_val, traits_SkipListSet_less_pascal_seqcst > SkipListSet_rcu_gpt_less_pascal_seqcst; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef SkipListSet< rcu_shb, key_val, traits_SkipListSet_less_pascal_seqcst > SkipListSet_rcu_shb_less_pascal_seqcst; - typedef SkipListSet< rcu_sht, key_val, traits_SkipListSet_less_pascal_seqcst > SkipListSet_rcu_sht_less_pascal_seqcst; #endif class traits_SkipListSet_less_pascal_stat: public cc::skip_list::make_traits < @@ -114,7 +112,6 @@ namespace set { typedef SkipListSet< rcu_gpt, key_val, traits_SkipListSet_less_pascal_stat > SkipListSet_rcu_gpt_less_pascal_stat; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef SkipListSet< rcu_shb, key_val, traits_SkipListSet_less_pascal_stat > SkipListSet_rcu_shb_less_pascal_stat; - typedef SkipListSet< rcu_sht, key_val, traits_SkipListSet_less_pascal_stat > SkipListSet_rcu_sht_less_pascal_stat; #endif class traits_SkipListSet_cmp_pascal: public cc::skip_list::make_traits < @@ -130,7 +127,6 @@ namespace set { typedef SkipListSet< rcu_gpt, key_val, traits_SkipListSet_cmp_pascal > SkipListSet_rcu_gpt_cmp_pascal; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef SkipListSet< rcu_shb, key_val, traits_SkipListSet_cmp_pascal > SkipListSet_rcu_shb_cmp_pascal; - typedef SkipListSet< rcu_sht, key_val, traits_SkipListSet_cmp_pascal > SkipListSet_rcu_sht_cmp_pascal; #endif class traits_SkipListSet_cmp_pascal_stat: public cc::skip_list::make_traits < @@ -147,7 +143,6 @@ namespace set { typedef SkipListSet< rcu_gpt, key_val, traits_SkipListSet_cmp_pascal_stat > SkipListSet_rcu_gpt_cmp_pascal_stat; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef SkipListSet< rcu_shb, key_val, traits_SkipListSet_cmp_pascal_stat > SkipListSet_rcu_shb_cmp_pascal_stat; - typedef SkipListSet< rcu_sht, key_val, traits_SkipListSet_cmp_pascal_stat > SkipListSet_rcu_sht_cmp_pascal_stat; #endif class traits_SkipListSet_less_xorshift: public cc::skip_list::make_traits < @@ -163,7 +158,6 @@ namespace set { typedef SkipListSet< rcu_gpt, key_val, traits_SkipListSet_less_xorshift > SkipListSet_rcu_gpt_less_xorshift; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef SkipListSet< rcu_shb, key_val, traits_SkipListSet_less_xorshift > SkipListSet_rcu_shb_less_xorshift; - typedef SkipListSet< rcu_sht, key_val, traits_SkipListSet_less_xorshift > SkipListSet_rcu_sht_less_xorshift; #endif class traits_SkipListSet_less_xorshift_stat: public cc::skip_list::make_traits < @@ -180,7 +174,6 @@ namespace set { typedef SkipListSet< rcu_gpt, key_val, traits_SkipListSet_less_xorshift_stat > SkipListSet_rcu_gpt_less_xorshift_stat; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef SkipListSet< rcu_shb, key_val, traits_SkipListSet_less_xorshift_stat > SkipListSet_rcu_shb_less_xorshift_stat; - typedef SkipListSet< rcu_sht, key_val, traits_SkipListSet_less_xorshift_stat > SkipListSet_rcu_sht_less_xorshift_stat; #endif class traits_SkipListSet_cmp_xorshift: public cc::skip_list::make_traits < @@ -196,7 +189,6 @@ namespace set { typedef SkipListSet< rcu_gpt, key_val, traits_SkipListSet_cmp_xorshift > SkipListSet_rcu_gpt_cmp_xorshift; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef SkipListSet< rcu_shb, key_val, traits_SkipListSet_cmp_xorshift > SkipListSet_rcu_shb_cmp_xorshift; - typedef SkipListSet< rcu_sht, key_val, traits_SkipListSet_cmp_xorshift > SkipListSet_rcu_sht_cmp_xorshift; #endif class traits_SkipListSet_cmp_xorshift_stat: public cc::skip_list::make_traits < @@ -213,7 +205,6 @@ namespace set { typedef SkipListSet< rcu_gpt, key_val, traits_SkipListSet_cmp_xorshift_stat > SkipListSet_rcu_gpt_cmp_xorshift_stat; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef SkipListSet< rcu_shb, key_val, traits_SkipListSet_cmp_xorshift_stat > SkipListSet_rcu_shb_cmp_xorshift_stat; - typedef SkipListSet< rcu_sht, key_val, traits_SkipListSet_cmp_xorshift_stat > SkipListSet_rcu_sht_cmp_xorshift_stat; #endif }; @@ -237,7 +228,6 @@ namespace set { #if defined(CDS_STRESS_TEST_LEVEL) && CDS_STRESS_TEST_LEVEL > 1 # define CDSSTRESS_SkipListSet_SHRCU_2( fixture, test_case, key_type, value_type ) \ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_shb_less_pascal_seqcst, key_type, value_type) \ - CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_sht_less_pascal_seqcst, key_type, value_type) \ #else # define CDSSTRESS_SkipListSet_SHRCU_2( fixture, test_case, key_type, value_type ) @@ -245,13 +235,9 @@ namespace set { #if defined(CDS_STRESS_TEST_LEVEL) && CDS_STRESS_TEST_LEVEL == 1 # define CDSSTRESS_SkipListSet_SHRCU_1( fixture, test_case, key_type, value_type ) \ - CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_sht_less_pascal, key_type, value_type) \ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_shb_less_pascal_stat, key_type, value_type) \ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_shb_cmp_pascal, key_type, value_type) \ - CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_sht_cmp_pascal_stat, key_type, value_type) \ - CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_sht_less_xorshift, key_type, value_type) \ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_shb_less_xorshift_stat, key_type, value_type) \ - CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_sht_cmp_xorshift, key_type, value_type) \ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_shb_cmp_xorshift_stat, key_type, value_type) \ #else @@ -261,13 +247,9 @@ namespace set { # define CDSSTRESS_SkipListSet_SHRCU( fixture, test_case, key_type, value_type ) \ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_shb_less_pascal, key_type, value_type) \ - CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_sht_less_pascal_stat, key_type, value_type) \ - CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_sht_cmp_pascal, key_type, value_type) \ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_shb_cmp_pascal_stat, key_type, value_type) \ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_shb_less_xorshift, key_type, value_type) \ - CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_sht_less_xorshift_stat, key_type, value_type) \ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_shb_cmp_xorshift, key_type, value_type) \ - CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_sht_cmp_xorshift_stat, key_type, value_type) \ CDSSTRESS_SkipListSet_SHRCU_1( fixture, test_case, key_type, value_type ) \ CDSSTRESS_SkipListSet_SHRCU_2( fixture, test_case, key_type, value_type ) \ diff --git a/test/stress/set/set_type_split_list.h b/test/stress/set/set_type_split_list.h index 9a5f74c8..b0bddacc 100644 --- a/test/stress/set/set_type_split_list.h +++ b/test/stress/set/set_type_split_list.h @@ -114,7 +114,6 @@ namespace set { typedef SplitListSet< rcu_gpt, key_val, traits_SplitList_Michael_dyn_cmp > SplitList_Michael_RCU_GPT_dyn_cmp; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef SplitListSet< rcu_shb, key_val, traits_SplitList_Michael_dyn_cmp > SplitList_Michael_RCU_SHB_dyn_cmp; - typedef SplitListSet< rcu_sht, key_val, traits_SplitList_Michael_dyn_cmp > SplitList_Michael_RCU_SHT_dyn_cmp; #endif struct traits_SplitList_Michael_dyn_cmp_swar: public traits_SplitList_Michael_dyn_cmp @@ -128,7 +127,6 @@ namespace set { typedef SplitListSet< rcu_gpt, key_val, traits_SplitList_Michael_dyn_cmp_swar > SplitList_Michael_RCU_GPT_dyn_cmp_swar; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef SplitListSet< rcu_shb, key_val, traits_SplitList_Michael_dyn_cmp_swar > SplitList_Michael_RCU_SHB_dyn_cmp_swar; - typedef SplitListSet< rcu_sht, key_val, traits_SplitList_Michael_dyn_cmp_swar > SplitList_Michael_RCU_SHT_dyn_cmp_swar; #endif struct traits_SplitList_Michael_dyn_cmp_stat : @@ -151,7 +149,6 @@ namespace set { typedef SplitListSet< rcu_gpt, key_val, traits_SplitList_Michael_dyn_cmp_stat > SplitList_Michael_RCU_GPT_dyn_cmp_stat; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef SplitListSet< rcu_shb, key_val, traits_SplitList_Michael_dyn_cmp_stat > SplitList_Michael_RCU_SHB_dyn_cmp_stat; - typedef SplitListSet< rcu_sht, key_val, traits_SplitList_Michael_dyn_cmp_stat > SplitList_Michael_RCU_SHT_dyn_cmp_stat; #endif struct traits_SplitList_Michael_dyn_cmp_seqcst : @@ -174,7 +171,6 @@ namespace set { typedef SplitListSet< rcu_gpt, key_val, traits_SplitList_Michael_dyn_cmp_seqcst > SplitList_Michael_RCU_GPT_dyn_cmp_seqcst; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef SplitListSet< rcu_shb, key_val, traits_SplitList_Michael_dyn_cmp_seqcst > SplitList_Michael_RCU_SHB_dyn_cmp_seqcst; - typedef SplitListSet< rcu_sht, key_val, traits_SplitList_Michael_dyn_cmp_seqcst > SplitList_Michael_RCU_SHT_dyn_cmp_seqcst; #endif struct traits_SplitList_Michael_st_cmp : @@ -196,7 +192,6 @@ namespace set { typedef SplitListSet< rcu_gpt, key_val, traits_SplitList_Michael_st_cmp > SplitList_Michael_RCU_GPT_st_cmp; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef SplitListSet< rcu_shb, key_val, traits_SplitList_Michael_st_cmp > SplitList_Michael_RCU_SHB_st_cmp; - typedef SplitListSet< rcu_sht, key_val, traits_SplitList_Michael_st_cmp > SplitList_Michael_RCU_SHT_st_cmp; #endif //HP + less @@ -218,7 +213,6 @@ namespace set { typedef SplitListSet< rcu_gpt, key_val, traits_SplitList_Michael_dyn_less > SplitList_Michael_RCU_GPT_dyn_less; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef SplitListSet< rcu_shb, key_val, traits_SplitList_Michael_dyn_less > SplitList_Michael_RCU_SHB_dyn_less; - typedef SplitListSet< rcu_sht, key_val, traits_SplitList_Michael_dyn_less > SplitList_Michael_RCU_SHT_dyn_less; #endif struct traits_SplitList_Michael_st_less : @@ -240,7 +234,6 @@ namespace set { typedef SplitListSet< rcu_gpt, key_val, traits_SplitList_Michael_st_less > SplitList_Michael_RCU_GPT_st_less; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef SplitListSet< rcu_shb, key_val, traits_SplitList_Michael_st_less > SplitList_Michael_RCU_SHB_st_less; - typedef SplitListSet< rcu_sht, key_val, traits_SplitList_Michael_st_less > SplitList_Michael_RCU_SHT_st_less; #endif struct traits_SplitList_Michael_st_less_stat : @@ -264,7 +257,6 @@ namespace set { typedef SplitListSet< rcu_gpt, key_val, traits_SplitList_Michael_st_less_stat > SplitList_Michael_RCU_GPT_st_less_stat; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef SplitListSet< rcu_shb, key_val, traits_SplitList_Michael_st_less_stat > SplitList_Michael_RCU_SHB_st_less_stat; - typedef SplitListSet< rcu_sht, key_val, traits_SplitList_Michael_st_less_stat > SplitList_Michael_RCU_SHT_st_less_stat; #endif // *************************************************************************** @@ -288,7 +280,6 @@ namespace set { typedef SplitListSet< rcu_gpt, key_val, traits_SplitList_Lazy_dyn_cmp > SplitList_Lazy_RCU_GPT_dyn_cmp; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef SplitListSet< rcu_shb, key_val, traits_SplitList_Lazy_dyn_cmp > SplitList_Lazy_RCU_SHB_dyn_cmp; - typedef SplitListSet< rcu_sht, key_val, traits_SplitList_Lazy_dyn_cmp > SplitList_Lazy_RCU_SHT_dyn_cmp; #endif struct traits_SplitList_Lazy_dyn_cmp_stat : public traits_SplitList_Lazy_dyn_cmp @@ -306,7 +297,6 @@ namespace set { typedef SplitListSet< rcu_gpt, key_val, traits_SplitList_Lazy_dyn_cmp_stat > SplitList_Lazy_RCU_GPT_dyn_cmp_stat; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef SplitListSet< rcu_shb, key_val, traits_SplitList_Lazy_dyn_cmp > SplitList_Lazy_RCU_SHB_dyn_cmp_stat; - typedef SplitListSet< rcu_sht, key_val, traits_SplitList_Lazy_dyn_cmp > SplitList_Lazy_RCU_SHT_dyn_cmp_stat; #endif struct traits_SplitList_Lazy_dyn_cmp_seqcst : @@ -329,7 +319,6 @@ namespace set { typedef SplitListSet< rcu_gpt, key_val, traits_SplitList_Lazy_dyn_cmp_seqcst > SplitList_Lazy_RCU_GPT_dyn_cmp_seqcst; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef SplitListSet< rcu_shb, key_val, traits_SplitList_Lazy_dyn_cmp_seqcst > SplitList_Lazy_RCU_SHB_dyn_cmp_seqcst; - typedef SplitListSet< rcu_sht, key_val, traits_SplitList_Lazy_dyn_cmp_seqcst > SplitList_Lazy_RCU_SHT_dyn_cmp_seqcst; #endif struct traits_SplitList_Lazy_st_cmp : @@ -351,7 +340,6 @@ namespace set { typedef SplitListSet< rcu_gpt, key_val, traits_SplitList_Lazy_st_cmp > SplitList_Lazy_RCU_GPT_st_cmp; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef SplitListSet< rcu_shb, key_val, traits_SplitList_Lazy_st_cmp > SplitList_Lazy_RCU_SHB_st_cmp; - typedef SplitListSet< rcu_sht, key_val, traits_SplitList_Lazy_st_cmp > SplitList_Lazy_RCU_SHT_st_cmp; #endif struct traits_SplitList_Lazy_dyn_less : @@ -372,7 +360,6 @@ namespace set { typedef SplitListSet< rcu_gpt, key_val, traits_SplitList_Lazy_dyn_less > SplitList_Lazy_RCU_GPT_dyn_less; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef SplitListSet< rcu_shb, key_val, traits_SplitList_Lazy_dyn_less > SplitList_Lazy_RCU_SHB_dyn_less; - typedef SplitListSet< rcu_sht, key_val, traits_SplitList_Lazy_dyn_less > SplitList_Lazy_RCU_SHT_dyn_less; #endif struct traits_SplitList_Lazy_st_less : @@ -394,7 +381,6 @@ namespace set { typedef SplitListSet< rcu_gpt, key_val, traits_SplitList_Lazy_st_less > SplitList_Lazy_RCU_GPT_st_less; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef SplitListSet< rcu_shb, key_val, traits_SplitList_Lazy_st_less > SplitList_Lazy_RCU_SHB_st_less; - typedef SplitListSet< rcu_sht, key_val, traits_SplitList_Lazy_st_less > SplitList_Lazy_RCU_SHT_st_less; #endif struct traits_SplitList_Lazy_st_less_stat : public traits_SplitList_Lazy_st_less @@ -412,7 +398,6 @@ namespace set { typedef SplitListSet< rcu_gpt, key_val, traits_SplitList_Lazy_st_less_stat > SplitList_Lazy_RCU_GPT_st_less_stat; #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED typedef SplitListSet< rcu_shb, key_val, traits_SplitList_Lazy_st_less_stat > SplitList_Lazy_RCU_SHB_st_less_stat; - typedef SplitListSet< rcu_sht, key_val, traits_SplitList_Lazy_st_less_stat > SplitList_Lazy_RCU_SHT_st_less_stat; #endif // *************************************************************************** diff --git a/test/unit/intrusive-list/CMakeLists.txt b/test/unit/intrusive-list/CMakeLists.txt index 5809034b..3e588164 100644 --- a/test/unit/intrusive-list/CMakeLists.txt +++ b/test/unit/intrusive-list/CMakeLists.txt @@ -13,7 +13,6 @@ set(UNIT_ILIST_MICHAEL_SOURCES intrusive_michael_rcu_gpi.cpp intrusive_michael_rcu_gpt.cpp intrusive_michael_rcu_shb.cpp - intrusive_michael_rcu_sht.cpp ) add_executable(${UNIT_ILIST_MICHAEL} ${UNIT_ILIST_MICHAEL_SOURCES}) target_link_libraries(${UNIT_ILIST_MICHAEL} ${CDS_TEST_LIBRARIES}) @@ -31,7 +30,6 @@ set(UNIT_ILIST_LAZY_SOURCES intrusive_lazy_rcu_gpi.cpp intrusive_lazy_rcu_gpt.cpp intrusive_lazy_rcu_shb.cpp - intrusive_lazy_rcu_sht.cpp ) add_executable(${UNIT_ILIST_LAZY} ${UNIT_ILIST_LAZY_SOURCES}) target_link_libraries(${UNIT_ILIST_LAZY} ${CDS_TEST_LIBRARIES}) diff --git a/test/unit/intrusive-list/intrusive_lazy_rcu_sht.cpp b/test/unit/intrusive-list/intrusive_lazy_rcu_sht.cpp deleted file mode 100644 index cc58f19e..00000000 --- a/test/unit/intrusive-list/intrusive_lazy_rcu_sht.cpp +++ /dev/null @@ -1,47 +0,0 @@ -/* - This file is a part of libcds - Concurrent Data Structures library - - (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017 - - Source code repo: http://github.com/khizmax/libcds/ - Download: http://sourceforge.net/projects/libcds/files/ - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#include - -#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED - -#include "test_intrusive_lazy_rcu.h" - -namespace { - - typedef cds::urcu::signal_threaded<> rcu_implementation; - typedef cds::urcu::signal_threaded_stripped rcu_implementation_stripped; - -} // namespace - -INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHT, IntrusiveLazyList, rcu_implementation ); -INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHT_stripped, IntrusiveLazyList, rcu_implementation_stripped ); - -#endif // #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED diff --git a/test/unit/intrusive-list/intrusive_michael_rcu_sht.cpp b/test/unit/intrusive-list/intrusive_michael_rcu_sht.cpp deleted file mode 100644 index d2befeb8..00000000 --- a/test/unit/intrusive-list/intrusive_michael_rcu_sht.cpp +++ /dev/null @@ -1,47 +0,0 @@ -/* - This file is a part of libcds - Concurrent Data Structures library - - (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017 - - Source code repo: http://github.com/khizmax/libcds/ - Download: http://sourceforge.net/projects/libcds/files/ - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#include - -#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED - -#include "test_intrusive_michael_rcu.h" - -namespace { - - typedef cds::urcu::signal_threaded<> rcu_implementation; - typedef cds::urcu::signal_threaded_stripped rcu_implementation_stripped; - -} // namespace - -INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHT, IntrusiveMichaelList, rcu_implementation ); -INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHT_stripped, IntrusiveMichaelList, rcu_implementation_stripped ); - -#endif // #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED diff --git a/test/unit/intrusive-set/CMakeLists.txt b/test/unit/intrusive-set/CMakeLists.txt index 777786a7..f6694df6 100644 --- a/test/unit/intrusive-set/CMakeLists.txt +++ b/test/unit/intrusive-set/CMakeLists.txt @@ -14,7 +14,6 @@ set(UNIT_ISET_FELDMAN_SOURCES intrusive_feldman_hashset_rcu_gpi.cpp intrusive_feldman_hashset_rcu_gpt.cpp intrusive_feldman_hashset_rcu_shb.cpp - intrusive_feldman_hashset_rcu_sht.cpp ) add_executable(${UNIT_ISET_FELDMAN} ${UNIT_ISET_FELDMAN_SOURCES}) target_link_libraries(${UNIT_ISET_FELDMAN} ${CDS_TEST_LIBRARIES}) @@ -32,7 +31,6 @@ set(UNIT_ISET_MICHAEL_SOURCES intrusive_michael_michael_rcu_gpi.cpp intrusive_michael_michael_rcu_gpt.cpp intrusive_michael_michael_rcu_shb.cpp - intrusive_michael_michael_rcu_sht.cpp ) add_executable(${UNIT_ISET_MICHAEL} ${UNIT_ISET_MICHAEL_SOURCES}) target_link_libraries(${UNIT_ISET_MICHAEL} ${CDS_TEST_LIBRARIES}) @@ -49,7 +47,6 @@ set(UNIT_ISET_MICHAEL_LAZY_SOURCES intrusive_michael_lazy_rcu_gpi.cpp intrusive_michael_lazy_rcu_gpt.cpp intrusive_michael_lazy_rcu_shb.cpp - intrusive_michael_lazy_rcu_sht.cpp ) add_executable(${UNIT_ISET_MICHAEL_LAZY} ${UNIT_ISET_MICHAEL_LAZY_SOURCES}) target_link_libraries(${UNIT_ISET_MICHAEL_LAZY} ${CDS_TEST_LIBRARIES}) @@ -77,7 +74,6 @@ set(UNIT_ISET_SKIP_SOURCES intrusive_skiplist_rcu_gpi.cpp intrusive_skiplist_rcu_gpt.cpp intrusive_skiplist_rcu_shb.cpp - intrusive_skiplist_rcu_sht.cpp ) add_executable(${UNIT_ISET_SKIP} ${UNIT_ISET_SKIP_SOURCES}) target_link_libraries(${UNIT_ISET_SKIP} ${CDS_TEST_LIBRARIES}) @@ -94,7 +90,6 @@ set(UNIT_ISET_SPLIT_MICHAEL_SOURCES intrusive_split_michael_rcu_gpi.cpp intrusive_split_michael_rcu_gpt.cpp intrusive_split_michael_rcu_shb.cpp - intrusive_split_michael_rcu_sht.cpp ) add_executable(${UNIT_ISET_SPLIT_MICHAEL} ${UNIT_ISET_SPLIT_MICHAEL_SOURCES}) target_link_libraries(${UNIT_ISET_SPLIT_MICHAEL} ${CDS_TEST_LIBRARIES}) @@ -111,7 +106,6 @@ set(UNIT_ISET_SPLIT_LAZY_SOURCES intrusive_split_lazy_rcu_gpi.cpp intrusive_split_lazy_rcu_gpt.cpp intrusive_split_lazy_rcu_shb.cpp - intrusive_split_lazy_rcu_sht.cpp ) add_executable(${UNIT_ISET_SPLIT_LAZY} ${UNIT_ISET_SPLIT_LAZY_SOURCES}) target_link_libraries(${UNIT_ISET_SPLIT_LAZY} ${CDS_TEST_LIBRARIES}) diff --git a/test/unit/intrusive-set/intrusive_feldman_hashset_rcu_sht.cpp b/test/unit/intrusive-set/intrusive_feldman_hashset_rcu_sht.cpp deleted file mode 100644 index d286f2a2..00000000 --- a/test/unit/intrusive-set/intrusive_feldman_hashset_rcu_sht.cpp +++ /dev/null @@ -1,47 +0,0 @@ -/* - This file is a part of libcds - Concurrent Data Structures library - - (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017 - - Source code repo: http://github.com/khizmax/libcds/ - Download: http://sourceforge.net/projects/libcds/files/ - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#include - -#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED - -#include "test_intrusive_feldman_hashset_rcu.h" - -namespace { - - typedef cds::urcu::signal_threaded<> rcu_implementation; - typedef cds::urcu::signal_threaded_stripped rcu_implementation_stripped; - -} // namespace - -INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHT, IntrusiveFeldmanHashSet, rcu_implementation ); -INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHT_stripped, IntrusiveFeldmanHashSet, rcu_implementation_stripped ); - -#endif // CDS_URCU_SIGNAL_HANDLING_ENABLED diff --git a/test/unit/intrusive-set/intrusive_michael_lazy_rcu_sht.cpp b/test/unit/intrusive-set/intrusive_michael_lazy_rcu_sht.cpp deleted file mode 100644 index 2c991563..00000000 --- a/test/unit/intrusive-set/intrusive_michael_lazy_rcu_sht.cpp +++ /dev/null @@ -1,48 +0,0 @@ -/* - This file is a part of libcds - Concurrent Data Structures library - - (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017 - - Source code repo: http://github.com/khizmax/libcds/ - Download: http://sourceforge.net/projects/libcds/files/ - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#include - -#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED - -#include "test_intrusive_michael_lazy_rcu.h" - -namespace { - - typedef cds::urcu::signal_threaded<> rcu_implementation; - typedef cds::urcu::signal_threaded_stripped rcu_implementation_stripped; - -} // namespace - -INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHT, IntrusiveMichaelLazySet, rcu_implementation ); -INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHT_stripped, IntrusiveMichaelLazySet, rcu_implementation_stripped ); - -#endif // #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED - diff --git a/test/unit/intrusive-set/intrusive_michael_michael_rcu_sht.cpp b/test/unit/intrusive-set/intrusive_michael_michael_rcu_sht.cpp deleted file mode 100644 index 16257c8f..00000000 --- a/test/unit/intrusive-set/intrusive_michael_michael_rcu_sht.cpp +++ /dev/null @@ -1,46 +0,0 @@ -/* - This file is a part of libcds - Concurrent Data Structures library - - (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017 - - Source code repo: http://github.com/khizmax/libcds/ - Download: http://sourceforge.net/projects/libcds/files/ - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#include - -#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED - -#include "test_intrusive_michael_michael_rcu.h" - -namespace { - - typedef cds::urcu::signal_threaded<> rcu_implementation; - -} // namespace - -INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHT, IntrusiveMichaelSet, rcu_implementation ); - -#endif // #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED - diff --git a/test/unit/intrusive-set/intrusive_skiplist_rcu_sht.cpp b/test/unit/intrusive-set/intrusive_skiplist_rcu_sht.cpp deleted file mode 100644 index cd246791..00000000 --- a/test/unit/intrusive-set/intrusive_skiplist_rcu_sht.cpp +++ /dev/null @@ -1,47 +0,0 @@ -/* - This file is a part of libcds - Concurrent Data Structures library - - (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017 - - Source code repo: http://github.com/khizmax/libcds/ - Download: http://sourceforge.net/projects/libcds/files/ - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#include - -#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED - -#include "test_intrusive_skiplist_rcu.h" - -namespace { - - typedef cds::urcu::signal_threaded<> rcu_implementation; - typedef cds::urcu::signal_threaded_stripped rcu_implementation_stripped; - -} // namespace - -INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHT, IntrusiveSkipListSet, rcu_implementation ); -INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHT_stripped, IntrusiveSkipListSet, rcu_implementation_stripped ); - -#endif // CDS_URCU_SIGNAL_HANDLING_ENABLED diff --git a/test/unit/intrusive-set/intrusive_split_lazy_rcu_sht.cpp b/test/unit/intrusive-set/intrusive_split_lazy_rcu_sht.cpp deleted file mode 100644 index 398ab4f8..00000000 --- a/test/unit/intrusive-set/intrusive_split_lazy_rcu_sht.cpp +++ /dev/null @@ -1,47 +0,0 @@ -/* - This file is a part of libcds - Concurrent Data Structures library - - (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017 - - Source code repo: http://github.com/khizmax/libcds/ - Download: http://sourceforge.net/projects/libcds/files/ - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#include - -#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED - -#include "test_intrusive_split_lazy_rcu.h" - -namespace { - - typedef cds::urcu::signal_threaded<> rcu_implementation; - typedef cds::urcu::signal_threaded_stripped rcu_implementation_stripped; - -} // namespace - -INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHT, IntrusiveSplitLazySet, rcu_implementation ); -INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHT_stripped, IntrusiveSplitLazySet, rcu_implementation_stripped ); - -#endif // CDS_URCU_SIGNAL_HANDLING_ENABLED diff --git a/test/unit/intrusive-set/intrusive_split_michael_rcu_sht.cpp b/test/unit/intrusive-set/intrusive_split_michael_rcu_sht.cpp deleted file mode 100644 index c7dd447f..00000000 --- a/test/unit/intrusive-set/intrusive_split_michael_rcu_sht.cpp +++ /dev/null @@ -1,47 +0,0 @@ -/* - This file is a part of libcds - Concurrent Data Structures library - - (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017 - - Source code repo: http://github.com/khizmax/libcds/ - Download: http://sourceforge.net/projects/libcds/files/ - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#include - -#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED - -#include "test_intrusive_split_michael_rcu.h" - -namespace { - - typedef cds::urcu::signal_threaded<> rcu_implementation; - typedef cds::urcu::signal_threaded_stripped rcu_implementation_stripped; - -} // namespace - -INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHT, IntrusiveSplitMichaelSet, rcu_implementation ); -INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHT_stripped, IntrusiveSplitMichaelSet, rcu_implementation_stripped ); - -#endif // CDS_URCU_SIGNAL_HANDLING_ENABLED diff --git a/test/unit/list/CMakeLists.txt b/test/unit/list/CMakeLists.txt index ca9a3036..643abb3d 100644 --- a/test/unit/list/CMakeLists.txt +++ b/test/unit/list/CMakeLists.txt @@ -27,7 +27,6 @@ set(UNIT_LIST_LAZY_SOURCES kv_lazy_rcu_gpi.cpp kv_lazy_rcu_gpt.cpp kv_lazy_rcu_shb.cpp - kv_lazy_rcu_sht.cpp lazy_hp.cpp lazy_dhp.cpp lazy_nogc.cpp @@ -35,7 +34,6 @@ set(UNIT_LIST_LAZY_SOURCES lazy_rcu_gpi.cpp lazy_rcu_gpt.cpp lazy_rcu_shb.cpp - lazy_rcu_sht.cpp ) add_executable(${UNIT_LIST_LAZY} ${UNIT_LIST_LAZY_SOURCES}) target_link_libraries(${UNIT_LIST_LAZY} ${CDS_TEST_LIBRARIES}) @@ -52,7 +50,6 @@ set(UNIT_LIST_MICHAEL_SOURCES kv_michael_rcu_gpi.cpp kv_michael_rcu_gpt.cpp kv_michael_rcu_shb.cpp - kv_michael_rcu_sht.cpp michael_hp.cpp michael_dhp.cpp michael_nogc.cpp @@ -60,7 +57,6 @@ set(UNIT_LIST_MICHAEL_SOURCES michael_rcu_gpi.cpp michael_rcu_gpt.cpp michael_rcu_shb.cpp - michael_rcu_sht.cpp ) add_executable(${UNIT_LIST_MICHAEL} ${UNIT_LIST_MICHAEL_SOURCES}) target_link_libraries(${UNIT_LIST_MICHAEL} ${CDS_TEST_LIBRARIES}) diff --git a/test/unit/list/kv_lazy_rcu_sht.cpp b/test/unit/list/kv_lazy_rcu_sht.cpp deleted file mode 100644 index e6be9a12..00000000 --- a/test/unit/list/kv_lazy_rcu_sht.cpp +++ /dev/null @@ -1,46 +0,0 @@ -/* - This file is a part of libcds - Concurrent Data Structures library - - (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017 - - Source code repo: http://github.com/khizmax/libcds/ - Download: http://sourceforge.net/projects/libcds/files/ - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#include - -#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED -#include "test_kv_lazy_rcu.h" - -namespace { - - typedef cds::urcu::signal_threaded<> rcu_implementation; - typedef cds::urcu::signal_threaded_stripped rcu_implementation_stripped; - -} // namespace - -INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHT, LazyKVList, rcu_implementation ); -INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHT_stripped, LazyKVList, rcu_implementation_stripped ); - -#endif diff --git a/test/unit/list/kv_michael_rcu_sht.cpp b/test/unit/list/kv_michael_rcu_sht.cpp deleted file mode 100644 index 6f78346f..00000000 --- a/test/unit/list/kv_michael_rcu_sht.cpp +++ /dev/null @@ -1,46 +0,0 @@ -/* - This file is a part of libcds - Concurrent Data Structures library - - (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017 - - Source code repo: http://github.com/khizmax/libcds/ - Download: http://sourceforge.net/projects/libcds/files/ - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#include - -#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED -#include "test_kv_michael_rcu.h" - -namespace { - - typedef cds::urcu::signal_threaded<> rcu_implementation; - typedef cds::urcu::signal_threaded_stripped rcu_implementation_stripped; - -} // namespace - -INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHT, MichaelKVList, rcu_implementation ); -INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHT_stripped, MichaelKVList, rcu_implementation_stripped ); - -#endif diff --git a/test/unit/list/lazy_rcu_sht.cpp b/test/unit/list/lazy_rcu_sht.cpp deleted file mode 100644 index 59f19151..00000000 --- a/test/unit/list/lazy_rcu_sht.cpp +++ /dev/null @@ -1,46 +0,0 @@ -/* - This file is a part of libcds - Concurrent Data Structures library - - (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017 - - Source code repo: http://github.com/khizmax/libcds/ - Download: http://sourceforge.net/projects/libcds/files/ - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#include - -#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED -#include "test_lazy_rcu.h" - -namespace { - - typedef cds::urcu::signal_threaded<> rcu_implementation; - typedef cds::urcu::signal_threaded_stripped rcu_implementation_stripped; - -} // namespace - -INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHT, LazyList, rcu_implementation ); -INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHT_stripped, LazyList, rcu_implementation_stripped ); - -#endif diff --git a/test/unit/list/michael_rcu_sht.cpp b/test/unit/list/michael_rcu_sht.cpp deleted file mode 100644 index 4179ab2d..00000000 --- a/test/unit/list/michael_rcu_sht.cpp +++ /dev/null @@ -1,46 +0,0 @@ -/* - This file is a part of libcds - Concurrent Data Structures library - - (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017 - - Source code repo: http://github.com/khizmax/libcds/ - Download: http://sourceforge.net/projects/libcds/files/ - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#include - -#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED -#include "test_michael_rcu.h" - -namespace { - - typedef cds::urcu::signal_threaded<> rcu_implementation; - typedef cds::urcu::signal_threaded_stripped rcu_implementation_stripped; - -} // namespace - -INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHT, MichaelList, rcu_implementation ); -INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHT_stripped, MichaelList, rcu_implementation_stripped ); - -#endif diff --git a/test/unit/map/CMakeLists.txt b/test/unit/map/CMakeLists.txt index df096742..35d5d421 100644 --- a/test/unit/map/CMakeLists.txt +++ b/test/unit/map/CMakeLists.txt @@ -12,7 +12,6 @@ set(UNIT_MAP_FELDMAN_SOURCES feldman_hashset_rcu_gpi.cpp feldman_hashset_rcu_gpt.cpp feldman_hashset_rcu_shb.cpp - feldman_hashset_rcu_sht.cpp ) add_executable(${UNIT_MAP_FELDMAN} ${UNIT_MAP_FELDMAN_SOURCES}) target_link_libraries(${UNIT_MAP_FELDMAN} ${CDS_TEST_LIBRARIES}) @@ -30,7 +29,6 @@ set(UNIT_MAP_MICHAEL_SOURCES michael_michael_rcu_gpi.cpp michael_michael_rcu_gpt.cpp michael_michael_rcu_shb.cpp - michael_michael_rcu_sht.cpp ) add_executable(${UNIT_MAP_MICHAEL} ${UNIT_MAP_MICHAEL_SOURCES}) target_link_libraries(${UNIT_MAP_MICHAEL} ${CDS_TEST_LIBRARIES}) @@ -60,7 +58,6 @@ set(UNIT_MAP_MICHAEL_LAZY_SOURCES michael_lazy_rcu_gpi.cpp michael_lazy_rcu_gpt.cpp michael_lazy_rcu_shb.cpp - michael_lazy_rcu_sht.cpp ) add_executable(${UNIT_MAP_MICHAEL_LAZY} ${UNIT_MAP_MICHAEL_LAZY_SOURCES}) target_link_libraries(${UNIT_MAP_MICHAEL_LAZY} ${CDS_TEST_LIBRARIES}) @@ -77,7 +74,6 @@ set(UNIT_MAP_SKIP_LIST_SOURCES skiplist_rcu_gpi.cpp skiplist_rcu_gpt.cpp skiplist_rcu_shb.cpp - skiplist_rcu_sht.cpp ) add_executable(${UNIT_MAP_SKIP_LIST} ${UNIT_MAP_SKIP_LIST_SOURCES}) target_link_libraries(${UNIT_MAP_SKIP_LIST} ${CDS_TEST_LIBRARIES}) @@ -94,7 +90,6 @@ set(UNIT_MAP_SPLIT_MICHAEL_SOURCES split_michael_rcu_gpi.cpp split_michael_rcu_gpt.cpp split_michael_rcu_shb.cpp - split_michael_rcu_sht.cpp ) add_executable(${UNIT_MAP_SPLIT_MICHAEL} ${UNIT_MAP_SPLIT_MICHAEL_SOURCES}) target_link_libraries(${UNIT_MAP_SPLIT_MICHAEL} ${CDS_TEST_LIBRARIES}) @@ -122,7 +117,6 @@ set(UNIT_MAP_SPLIT_LAZY_SOURCES split_lazy_rcu_gpi.cpp split_lazy_rcu_gpt.cpp split_lazy_rcu_shb.cpp - split_lazy_rcu_sht.cpp ) add_executable(${UNIT_MAP_SPLIT_LAZY} ${UNIT_MAP_SPLIT_LAZY_SOURCES}) target_link_libraries(${UNIT_MAP_SPLIT_LAZY} ${CDS_TEST_LIBRARIES}) diff --git a/test/unit/map/feldman_hashset_rcu_sht.cpp b/test/unit/map/feldman_hashset_rcu_sht.cpp deleted file mode 100644 index f8a290f3..00000000 --- a/test/unit/map/feldman_hashset_rcu_sht.cpp +++ /dev/null @@ -1,47 +0,0 @@ -/* - This file is a part of libcds - Concurrent Data Structures library - - (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017 - - Source code repo: http://github.com/khizmax/libcds/ - Download: http://sourceforge.net/projects/libcds/files/ - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#include - -#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED - -#include "test_feldman_hashmap_rcu.h" - -namespace { - - typedef cds::urcu::signal_threaded<> rcu_implementation; - typedef cds::urcu::signal_threaded_stripped rcu_implementation_stripped; - -} // namespace - -INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHT, FeldmanHashMap, rcu_implementation ); -INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHT_stripped, FeldmanHashMap, rcu_implementation_stripped ); - -#endif // CDS_URCU_SIGNAL_HANDLING_ENABLED diff --git a/test/unit/map/michael_lazy_rcu_sht.cpp b/test/unit/map/michael_lazy_rcu_sht.cpp deleted file mode 100644 index cfe48349..00000000 --- a/test/unit/map/michael_lazy_rcu_sht.cpp +++ /dev/null @@ -1,47 +0,0 @@ -/* - This file is a part of libcds - Concurrent Data Structures library - - (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017 - - Source code repo: http://github.com/khizmax/libcds/ - Download: http://sourceforge.net/projects/libcds/files/ - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#include - -#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED - -#include "test_michael_lazy_rcu.h" - -namespace { - - typedef cds::urcu::signal_threaded<> rcu_implementation; - typedef cds::urcu::signal_threaded_stripped rcu_implementation_stripped; - -} // namespace - -INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHT, MichaelLazyMap, rcu_implementation ); -INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHT_stripped, MichaelLazyMap, rcu_implementation_stripped ); - -#endif // CDS_URCU_SIGNAL_HANDLING_ENABLED diff --git a/test/unit/map/michael_michael_rcu_sht.cpp b/test/unit/map/michael_michael_rcu_sht.cpp deleted file mode 100644 index 7016610a..00000000 --- a/test/unit/map/michael_michael_rcu_sht.cpp +++ /dev/null @@ -1,47 +0,0 @@ -/* - This file is a part of libcds - Concurrent Data Structures library - - (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017 - - Source code repo: http://github.com/khizmax/libcds/ - Download: http://sourceforge.net/projects/libcds/files/ - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#include - -#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED - -#include "test_michael_michael_rcu.h" - -namespace { - - typedef cds::urcu::signal_threaded<> rcu_implementation; - typedef cds::urcu::signal_threaded_stripped rcu_implementation_stripped; - -} // namespace - -INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHT, MichaelMap, rcu_implementation ); -INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHT_stripped, MichaelMap, rcu_implementation_stripped ); - -#endif // CDS_URCU_SIGNAL_HANDLING_ENABLED diff --git a/test/unit/map/skiplist_rcu_sht.cpp b/test/unit/map/skiplist_rcu_sht.cpp deleted file mode 100644 index 91ac7547..00000000 --- a/test/unit/map/skiplist_rcu_sht.cpp +++ /dev/null @@ -1,47 +0,0 @@ -/* - This file is a part of libcds - Concurrent Data Structures library - - (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017 - - Source code repo: http://github.com/khizmax/libcds/ - Download: http://sourceforge.net/projects/libcds/files/ - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#include - -#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED - -#include "test_skiplist_rcu.h" - -namespace { - - typedef cds::urcu::signal_threaded<> rcu_implementation; - typedef cds::urcu::signal_threaded_stripped rcu_implementation_stripped; - -} // namespace - -INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHT, SkipListMap, rcu_implementation ); -INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHT_stripped, SkipListMap, rcu_implementation_stripped ); - -#endif // CDS_URCU_SIGNAL_HANDLING_ENABLED diff --git a/test/unit/map/split_lazy_rcu_sht.cpp b/test/unit/map/split_lazy_rcu_sht.cpp deleted file mode 100644 index bfe7b44f..00000000 --- a/test/unit/map/split_lazy_rcu_sht.cpp +++ /dev/null @@ -1,47 +0,0 @@ -/* - This file is a part of libcds - Concurrent Data Structures library - - (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017 - - Source code repo: http://github.com/khizmax/libcds/ - Download: http://sourceforge.net/projects/libcds/files/ - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#include - -#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED - -#include "test_split_lazy_rcu.h" - -namespace { - - typedef cds::urcu::signal_threaded<> rcu_implementation; - typedef cds::urcu::signal_threaded_stripped rcu_implementation_stripped; - -} // namespace - -INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHT, SplitListLazyMap, rcu_implementation ); -INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHT_stripped, SplitListLazyMap, rcu_implementation_stripped ); - -#endif // CDS_URCU_SIGNAL_HANDLING_ENABLED diff --git a/test/unit/map/split_michael_rcu_sht.cpp b/test/unit/map/split_michael_rcu_sht.cpp deleted file mode 100644 index b4e5096e..00000000 --- a/test/unit/map/split_michael_rcu_sht.cpp +++ /dev/null @@ -1,47 +0,0 @@ -/* - This file is a part of libcds - Concurrent Data Structures library - - (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017 - - Source code repo: http://github.com/khizmax/libcds/ - Download: http://sourceforge.net/projects/libcds/files/ - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#include - -#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED - -#include "test_split_michael_rcu.h" - -namespace { - - typedef cds::urcu::signal_threaded<> rcu_implementation; - typedef cds::urcu::signal_threaded_stripped rcu_implementation_stripped; - -} // namespace - -INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHT, SplitListMichaelMap, rcu_implementation ); -INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHT_stripped, SplitListMichaelMap, rcu_implementation_stripped ); - -#endif // CDS_URCU_SIGNAL_HANDLING_ENABLED diff --git a/test/unit/set/CMakeLists.txt b/test/unit/set/CMakeLists.txt index bc205c67..1dc80642 100644 --- a/test/unit/set/CMakeLists.txt +++ b/test/unit/set/CMakeLists.txt @@ -12,7 +12,6 @@ set(UNIT_SET_FELDMAN_SOURCES feldman_hashset_rcu_gpi.cpp feldman_hashset_rcu_gpt.cpp feldman_hashset_rcu_shb.cpp - feldman_hashset_rcu_sht.cpp ) add_executable(${UNIT_SET_FELDMAN} ${UNIT_SET_FELDMAN_SOURCES}) target_link_libraries(${UNIT_SET_FELDMAN} ${CDS_TEST_LIBRARIES}) @@ -30,7 +29,6 @@ set(UNIT_SET_MICHAEL_SOURCES michael_michael_rcu_gpi.cpp michael_michael_rcu_gpt.cpp michael_michael_rcu_shb.cpp - michael_michael_rcu_sht.cpp ) add_executable(${UNIT_SET_MICHAEL} ${UNIT_SET_MICHAEL_SOURCES}) target_link_libraries(${UNIT_SET_MICHAEL} ${CDS_TEST_LIBRARIES}) @@ -58,7 +56,6 @@ set(UNIT_SET_MICHAEL_LAZY_SOURCES michael_lazy_rcu_gpi.cpp michael_lazy_rcu_gpt.cpp michael_lazy_rcu_shb.cpp - michael_lazy_rcu_sht.cpp ) add_executable(${UNIT_SET_MICHAEL_LAZY} ${UNIT_SET_MICHAEL_LAZY_SOURCES}) target_link_libraries(${UNIT_SET_MICHAEL_LAZY} ${CDS_TEST_LIBRARIES}) @@ -75,7 +72,6 @@ set(UNIT_SET_SKIP_SOURCES skiplist_rcu_gpi.cpp skiplist_rcu_gpt.cpp skiplist_rcu_shb.cpp - skiplist_rcu_sht.cpp ) add_executable(${UNIT_SET_SKIP} ${UNIT_SET_SKIP_SOURCES}) target_link_libraries(${UNIT_SET_SKIP} ${CDS_TEST_LIBRARIES}) @@ -92,7 +88,6 @@ set(UNIT_SET_SPLIT_MICHAEL_SOURCES split_michael_rcu_gpi.cpp split_michael_rcu_gpt.cpp split_michael_rcu_shb.cpp - split_michael_rcu_sht.cpp ) add_executable(${UNIT_SET_SPLIT_MICHAEL} ${UNIT_SET_SPLIT_MICHAEL_SOURCES}) target_link_libraries(${UNIT_SET_SPLIT_MICHAEL} ${CDS_TEST_LIBRARIES}) @@ -109,7 +104,6 @@ set(UNIT_SET_SPLIT_LAZY_SOURCES split_lazy_rcu_gpi.cpp split_lazy_rcu_gpt.cpp split_lazy_rcu_shb.cpp - split_lazy_rcu_sht.cpp ) add_executable(${UNIT_SET_SPLIT_LAZY} ${UNIT_SET_SPLIT_LAZY_SOURCES}) target_link_libraries(${UNIT_SET_SPLIT_LAZY} ${CDS_TEST_LIBRARIES}) diff --git a/test/unit/set/feldman_hashset_rcu_sht.cpp b/test/unit/set/feldman_hashset_rcu_sht.cpp deleted file mode 100644 index cf5056c6..00000000 --- a/test/unit/set/feldman_hashset_rcu_sht.cpp +++ /dev/null @@ -1,47 +0,0 @@ -/* - This file is a part of libcds - Concurrent Data Structures library - - (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017 - - Source code repo: http://github.com/khizmax/libcds/ - Download: http://sourceforge.net/projects/libcds/files/ - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#include - -#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED - -#include "test_feldman_hashset_rcu.h" - -namespace { - - typedef cds::urcu::signal_threaded<> rcu_implementation; - typedef cds::urcu::signal_threaded_stripped rcu_implementation_stripped; - -} // namespace - -INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHT, FeldmanHashSet, rcu_implementation ); -INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHT_stripped, FeldmanHashSet, rcu_implementation_stripped ); - -#endif // CDS_URCU_SIGNAL_HANDLING_ENABLED diff --git a/test/unit/set/michael_lazy_rcu_sht.cpp b/test/unit/set/michael_lazy_rcu_sht.cpp deleted file mode 100644 index 9e7c5b11..00000000 --- a/test/unit/set/michael_lazy_rcu_sht.cpp +++ /dev/null @@ -1,47 +0,0 @@ -/* - This file is a part of libcds - Concurrent Data Structures library - - (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017 - - Source code repo: http://github.com/khizmax/libcds/ - Download: http://sourceforge.net/projects/libcds/files/ - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#include - -#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED - -#include "test_michael_lazy_rcu.h" - -namespace { - - typedef cds::urcu::signal_threaded<> rcu_implementation; - typedef cds::urcu::signal_threaded_stripped rcu_implementation_stripped; - -} // namespace - -INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHT, MichaelLazySet, rcu_implementation ); -INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHT_stripped, MichaelLazySet, rcu_implementation_stripped ); - -#endif // CDS_URCU_SIGNAL_HANDLING_ENABLED diff --git a/test/unit/set/michael_michael_rcu_sht.cpp b/test/unit/set/michael_michael_rcu_sht.cpp deleted file mode 100644 index 843c4f2f..00000000 --- a/test/unit/set/michael_michael_rcu_sht.cpp +++ /dev/null @@ -1,47 +0,0 @@ -/* - This file is a part of libcds - Concurrent Data Structures library - - (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017 - - Source code repo: http://github.com/khizmax/libcds/ - Download: http://sourceforge.net/projects/libcds/files/ - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#include - -#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED - -#include "test_michael_michael_rcu.h" - -namespace { - - typedef cds::urcu::signal_threaded<> rcu_implementation; - typedef cds::urcu::signal_threaded_stripped rcu_implementation_stripped; - -} // namespace - -INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHT, MichaelSet, rcu_implementation ); -INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHT_stripped, MichaelSet, rcu_implementation_stripped ); - -#endif // CDS_URCU_SIGNAL_HANDLING_ENABLED diff --git a/test/unit/set/skiplist_rcu_sht.cpp b/test/unit/set/skiplist_rcu_sht.cpp deleted file mode 100644 index 2d3d15cb..00000000 --- a/test/unit/set/skiplist_rcu_sht.cpp +++ /dev/null @@ -1,47 +0,0 @@ -/* - This file is a part of libcds - Concurrent Data Structures library - - (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017 - - Source code repo: http://github.com/khizmax/libcds/ - Download: http://sourceforge.net/projects/libcds/files/ - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#include - -#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED - -#include "test_skiplist_rcu.h" - -namespace { - - typedef cds::urcu::signal_threaded<> rcu_implementation; - typedef cds::urcu::signal_threaded_stripped rcu_implementation_stripped; - -} // namespace - -INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHT, SkipListSet, rcu_implementation ); -INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHT_stripped, SkipListSet, rcu_implementation_stripped ); - -#endif // CDS_URCU_SIGNAL_HANDLING_ENABLED diff --git a/test/unit/set/split_lazy_rcu_sht.cpp b/test/unit/set/split_lazy_rcu_sht.cpp deleted file mode 100644 index 12356162..00000000 --- a/test/unit/set/split_lazy_rcu_sht.cpp +++ /dev/null @@ -1,47 +0,0 @@ -/* - This file is a part of libcds - Concurrent Data Structures library - - (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017 - - Source code repo: http://github.com/khizmax/libcds/ - Download: http://sourceforge.net/projects/libcds/files/ - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#include - -#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED - -#include "test_split_lazy_rcu.h" - -namespace { - - typedef cds::urcu::signal_threaded<> rcu_implementation; - typedef cds::urcu::signal_threaded_stripped rcu_implementation_stripped; - -} // namespace - -INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHT, SplitListLazySet, rcu_implementation ); -INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHT_stripped, SplitListLazySet, rcu_implementation_stripped ); - -#endif // CDS_URCU_SIGNAL_HANDLING_ENABLED diff --git a/test/unit/set/split_michael_rcu_sht.cpp b/test/unit/set/split_michael_rcu_sht.cpp deleted file mode 100644 index d7ef7d5c..00000000 --- a/test/unit/set/split_michael_rcu_sht.cpp +++ /dev/null @@ -1,47 +0,0 @@ -/* - This file is a part of libcds - Concurrent Data Structures library - - (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017 - - Source code repo: http://github.com/khizmax/libcds/ - Download: http://sourceforge.net/projects/libcds/files/ - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#include - -#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED - -#include "test_split_michael_rcu.h" - -namespace { - - typedef cds::urcu::signal_threaded<> rcu_implementation; - typedef cds::urcu::signal_threaded_stripped rcu_implementation_stripped; - -} // namespace - -INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHT, SplitListMichaelSet, rcu_implementation ); -INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHT_stripped, SplitListMichaelSet, rcu_implementation_stripped ); - -#endif // CDS_URCU_SIGNAL_HANDLING_ENABLED diff --git a/test/unit/tree/CMakeLists.txt b/test/unit/tree/CMakeLists.txt index 95e69535..3f0e473e 100644 --- a/test/unit/tree/CMakeLists.txt +++ b/test/unit/tree/CMakeLists.txt @@ -8,12 +8,10 @@ set(CDSGTEST_TREE_SOURCES bronson_avltree_map_rcu_gpi.cpp bronson_avltree_map_rcu_gpt.cpp bronson_avltree_map_rcu_shb.cpp - bronson_avltree_map_rcu_sht.cpp bronson_avltree_map_ptr_rcu_gpb.cpp bronson_avltree_map_ptr_rcu_gpi.cpp bronson_avltree_map_ptr_rcu_gpt.cpp bronson_avltree_map_ptr_rcu_shb.cpp - bronson_avltree_map_ptr_rcu_sht.cpp ellen_bintree_update_desc_pool.cpp ellen_bintree_map_hp.cpp ellen_bintree_map_dhp.cpp @@ -21,21 +19,18 @@ set(CDSGTEST_TREE_SOURCES ellen_bintree_map_rcu_gpi.cpp ellen_bintree_map_rcu_gpt.cpp ellen_bintree_map_rcu_shb.cpp - ellen_bintree_map_rcu_sht.cpp ellen_bintree_set_dhp.cpp ellen_bintree_set_hp.cpp ellen_bintree_set_rcu_gpb.cpp ellen_bintree_set_rcu_gpi.cpp ellen_bintree_set_rcu_gpt.cpp ellen_bintree_set_rcu_shb.cpp - ellen_bintree_set_rcu_sht.cpp intrusive_ellenbintree_hp.cpp intrusive_ellenbintree_dhp.cpp intrusive_ellenbintree_rcu_gpb.cpp intrusive_ellenbintree_rcu_gpi.cpp intrusive_ellenbintree_rcu_gpt.cpp intrusive_ellenbintree_rcu_shb.cpp - intrusive_ellenbintree_rcu_sht.cpp ) include_directories( diff --git a/test/unit/tree/bronson_avltree_map_ptr_rcu_sht.cpp b/test/unit/tree/bronson_avltree_map_ptr_rcu_sht.cpp deleted file mode 100644 index bc4e0fb2..00000000 --- a/test/unit/tree/bronson_avltree_map_ptr_rcu_sht.cpp +++ /dev/null @@ -1,47 +0,0 @@ -/* - This file is a part of libcds - Concurrent Data Structures library - - (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017 - - Source code repo: http://github.com/khizmax/libcds/ - Download: http://sourceforge.net/projects/libcds/files/ - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#include - -#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED - -#include "test_bronson_avltree_map_ptr.h" - -namespace { - - typedef cds::urcu::signal_threaded<> rcu_implementation; - typedef cds::urcu::signal_threaded_stripped rcu_implementation_stripped; - -} // namespace - -INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHT, BronsonAVLTreeMapPtr, rcu_implementation ); -INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHT_stripped, BronsonAVLTreeMapPtr, rcu_implementation_stripped ); - -#endif diff --git a/test/unit/tree/bronson_avltree_map_rcu_sht.cpp b/test/unit/tree/bronson_avltree_map_rcu_sht.cpp deleted file mode 100644 index 3a12bf18..00000000 --- a/test/unit/tree/bronson_avltree_map_rcu_sht.cpp +++ /dev/null @@ -1,47 +0,0 @@ -/* - This file is a part of libcds - Concurrent Data Structures library - - (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017 - - Source code repo: http://github.com/khizmax/libcds/ - Download: http://sourceforge.net/projects/libcds/files/ - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#include - -#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED - -#include "test_bronson_avltree_map.h" - -namespace { - - typedef cds::urcu::signal_threaded<> rcu_implementation; - typedef cds::urcu::signal_threaded_stripped rcu_implementation_stripped; - -} // namespace - -INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHT, BronsonAVLTreeMap, rcu_implementation ); -INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHT_stripped, BronsonAVLTreeMap, rcu_implementation_stripped ); - -#endif diff --git a/test/unit/tree/ellen_bintree_map_rcu_sht.cpp b/test/unit/tree/ellen_bintree_map_rcu_sht.cpp deleted file mode 100644 index b8d290e4..00000000 --- a/test/unit/tree/ellen_bintree_map_rcu_sht.cpp +++ /dev/null @@ -1,47 +0,0 @@ -/* - This file is a part of libcds - Concurrent Data Structures library - - (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017 - - Source code repo: http://github.com/khizmax/libcds/ - Download: http://sourceforge.net/projects/libcds/files/ - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#include - -#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED - -#include "test_ellen_bintree_map_rcu.h" - -namespace { - - typedef cds::urcu::signal_threaded<> rcu_implementation; - typedef cds::urcu::signal_threaded_stripped rcu_implementation_stripped; - -} // namespace - -INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHT, EllenBinTreeMap, rcu_implementation ); -INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHT_stripped, EllenBinTreeMap, rcu_implementation_stripped ); - -#endif // CDS_URCU_SIGNAL_HANDLING_ENABLED diff --git a/test/unit/tree/ellen_bintree_set_rcu_sht.cpp b/test/unit/tree/ellen_bintree_set_rcu_sht.cpp deleted file mode 100644 index b5251786..00000000 --- a/test/unit/tree/ellen_bintree_set_rcu_sht.cpp +++ /dev/null @@ -1,47 +0,0 @@ -/* - This file is a part of libcds - Concurrent Data Structures library - - (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017 - - Source code repo: http://github.com/khizmax/libcds/ - Download: http://sourceforge.net/projects/libcds/files/ - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#include - -#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED - -#include "test_ellen_bintree_set_rcu.h" - -namespace { - - typedef cds::urcu::signal_threaded<> rcu_implementation; - typedef cds::urcu::signal_threaded_stripped rcu_implementation_stripped; - -} // namespace - -INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHT, EllenBinTreeSet, rcu_implementation ); -INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHT_stripped, EllenBinTreeSet, rcu_implementation_stripped ); - -#endif // CDS_URCU_SIGNAL_HANDLING_ENABLED diff --git a/test/unit/tree/intrusive_ellenbintree_rcu_sht.cpp b/test/unit/tree/intrusive_ellenbintree_rcu_sht.cpp deleted file mode 100644 index 1e8d8650..00000000 --- a/test/unit/tree/intrusive_ellenbintree_rcu_sht.cpp +++ /dev/null @@ -1,47 +0,0 @@ -/* - This file is a part of libcds - Concurrent Data Structures library - - (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017 - - Source code repo: http://github.com/khizmax/libcds/ - Download: http://sourceforge.net/projects/libcds/files/ - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#include - -#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED - -#include "test_intrusive_ellen_bintree_rcu.h" - -namespace { - - typedef cds::urcu::signal_threaded<> rcu_implementation; - typedef cds::urcu::signal_threaded_stripped rcu_implementation_stripped; - -} // namespace - -INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHT, IntrusiveEllenBinTree, rcu_implementation ); -INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHT_stripped, IntrusiveEllenBinTree, rcu_implementation_stripped ); - -#endif // #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED -- 2.34.1