X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=test%2Fstress%2Fmain.cpp;h=ee8bcf9db370a143edae981e9d1641d7dd651c5e;hb=c29e34421838b0da071e56e7b21033f30e0bf959;hp=0c7acd83123ab6b6d44f5c0d37f25e15082efa82;hpb=759ffa51fb865adbebbfdb44273f9b83ec7cc8f3;p=libcds.git diff --git a/test/stress/main.cpp b/test/stress/main.cpp index 0c7acd83..ee8bcf9d 100644 --- a/test/stress/main.cpp +++ b/test/stress/main.cpp @@ -38,7 +38,12 @@ # include # include # include -# include +#endif + +#ifdef CDS_ENABLE_HPSTAT +# include +# include +# include #endif int main( int argc, char **argv ) @@ -49,8 +54,7 @@ int main( int argc, char **argv ) // Read test config file cds_test::init_config( argc, argv ); - // Get detail level for stress test - cds_test::stress_fixture::init_detail_level( argc, argv ); + std::cout << "Hardware concurrency: " << std::thread::hardware_concurrency() << "\n"; // Init Google test ::testing::InitGoogleTest( &argc, argv ); @@ -85,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 @@ -97,6 +98,23 @@ int main( int argc, char **argv ) cds::threading::Manager::detachThread(); } + +#ifdef CDS_ENABLE_HPSTAT + { + cds::gc::HP::stat const& st = cds::gc::HP::postmortem_statistics(); + EXPECT_EQ( st.guard_allocated, st.guard_freed ); + EXPECT_EQ( st.retired_count, st.free_count ); + std::cout << st; + } + { + cds::gc::DHP::stat const& st = cds::gc::DHP::postmortem_statistics(); + EXPECT_EQ( st.guard_allocated, st.guard_freed ); + EXPECT_EQ( st.retired_count, st.free_count ); + std::cout << st; + } +#endif + cds::Terminate(); + return result; }