From c159cc3d0234c94a4084deb036cf974481a5bfe4 Mon Sep 17 00:00:00 2001 From: Peizhao Ou Date: Thu, 22 Feb 2018 11:36:52 -0800 Subject: [PATCH 1/1] Uses different pass count for elimination stack --- test/stress/stack/push_pop.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/test/stress/stack/push_pop.cpp b/test/stress/stack/push_pop.cpp index a571e3ef..56917927 100644 --- a/test/stress/stack/push_pop.cpp +++ b/test/stress/stack/push_pop.cpp @@ -36,6 +36,7 @@ namespace { static size_t s_nPushThreadCount = 4; static size_t s_nPopThreadCount = 4; static size_t s_nStackSize = 1000000; + static size_t s_nEliminationStackSize = 500000; static size_t s_nEliminationSize = 4; static atomics::atomic s_nWorkingProducers( 0 ); @@ -175,6 +176,8 @@ namespace { s_nPushThreadCount = cfg.get_size_t( "PushThreadCount", s_nPushThreadCount ); s_nPopThreadCount = cfg.get_size_t( "PopThreadCount", s_nPopThreadCount ); s_nStackSize = cfg.get_size_t( "StackSize", s_nStackSize ); + s_nEliminationStackSize = + cfg.get_size_t("EliminationStackSize", s_nEliminationStackSize); s_nEliminationSize = cfg.get_size_t( "EliminationSize", s_nEliminationSize ); if ( s_nPushThreadCount == 0 ) @@ -279,6 +282,18 @@ namespace { }; CDSSTRESS_TreiberStack( stack_push_pop ) + + #undef CDSSTRESS_EliminationStack_F + + #define CDSSTRESS_EliminationStack_F( test_fixture, type_name ) \ + TEST_F( test_fixture, type_name ) \ + { \ + typedef stack::Types< value_type >::type_name stack_type; \ + s_nStackSize = s_nEliminationStackSize; \ + stack_type stack( s_nEliminationSize ); \ + test_elimination( stack ); \ + } + CDSSTRESS_EliminationStack( stack_push_pop ) //CDSSTRESS_FCStack( stack_push_pop ) //CDSSTRESS_FCDeque( stack_push_pop ) -- 2.34.1