From e43d04d79fe36ec03eb344a72666f2e6009ccae0 Mon Sep 17 00:00:00 2001 From: khizmax Date: Thu, 23 Feb 2017 11:53:09 +0300 Subject: [PATCH] [stress] Splitting large tests on two executable - HP-based and RCU-based (to be continued) --- test/stress/map/map_type_ellen_bintree.h | 27 +++++-- test/stress/map/map_type_feldman_hashmap.h | 92 ++++++++++++++++------ 2 files changed, 85 insertions(+), 34 deletions(-) diff --git a/test/stress/map/map_type_ellen_bintree.h b/test/stress/map/map_type_ellen_bintree.h index 5ba32c2c..b8c291cf 100644 --- a/test/stress/map/map_type_ellen_bintree.h +++ b/test/stress/map/map_type_ellen_bintree.h @@ -305,27 +305,38 @@ namespace map { #endif #if defined(CDS_STRESS_TEST_LEVEL) && CDS_STRESS_TEST_LEVEL > 0 -# define CDSSTRESS_EllenBinTreeMap_1( fixture, test_case, key_type, value_type ) \ - CDSSTRESS_EllenBinTreeMap_case( fixture, test_case, EllenBinTreeMap_rcu_gpi, key_type, value_type ) \ +# define CDSSTRESS_EllenBinTreeMap_HP_1( fixture, test_case, key_type, value_type ) \ CDSSTRESS_EllenBinTreeMap_case( fixture, test_case, EllenBinTreeMap_hp_yield, key_type, value_type ) \ CDSSTRESS_EllenBinTreeMap_case( fixture, test_case, EllenBinTreeMap_dhp_yield, key_type, value_type ) \ + + +# define CDSSTRESS_EllenBinTreeMap_RCU_1( fixture, test_case, key_type, value_type ) \ + CDSSTRESS_EllenBinTreeMap_case( fixture, test_case, EllenBinTreeMap_rcu_gpi, key_type, value_type ) \ CDSSTRESS_EllenBinTreeMap_case( fixture, test_case, EllenBinTreeMap_rcu_gpb_yield, key_type, value_type ) \ CDSSTRESS_EllenBinTreeMap_case( fixture, test_case, EllenBinTreeMap_rcu_gpi_stat, key_type, value_type ) \ #else -# define CDSSTRESS_EllenBinTreeMap_1( fixture, test_case, key_type, value_type ) +# define CDSSTRESS_EllenBinTreeMap_HP_1( fixture, test_case, key_type, value_type ) +# define CDSSTRESS_EllenBinTreeMap_RCU_1( fixture, test_case, key_type, value_type ) #endif -#define CDSSTRESS_EllenBinTreeMap( fixture, test_case, key_type, value_type ) \ +#define CDSSTRESS_EllenBinTreeMap_HP( fixture, test_case, key_type, value_type ) \ CDSSTRESS_EllenBinTreeMap_case( fixture, test_case, EllenBinTreeMap_hp, key_type, value_type ) \ CDSSTRESS_EllenBinTreeMap_case( fixture, test_case, EllenBinTreeMap_dhp, key_type, value_type ) \ - CDSSTRESS_EllenBinTreeMap_case( fixture, test_case, EllenBinTreeMap_rcu_gpb, key_type, value_type ) \ - CDSSTRESS_EllenBinTreeMap_case( fixture, test_case, EllenBinTreeMap_rcu_gpt, key_type, value_type ) \ CDSSTRESS_EllenBinTreeMap_case( fixture, test_case, EllenBinTreeMap_hp_stat, key_type, value_type ) \ CDSSTRESS_EllenBinTreeMap_case( fixture, test_case, EllenBinTreeMap_dhp_stat, key_type, value_type ) \ + CDSSTRESS_EllenBinTreeMap_HP_1( fixture, test_case, key_type, value_type ) \ + +#define CDSSTRESS_EllenBinTreeMap_RCU( fixture, test_case, key_type, value_type ) \ + CDSSTRESS_EllenBinTreeMap_case( fixture, test_case, EllenBinTreeMap_rcu_gpb, key_type, value_type ) \ + CDSSTRESS_EllenBinTreeMap_case( fixture, test_case, EllenBinTreeMap_rcu_gpt, key_type, value_type ) \ CDSSTRESS_EllenBinTreeMap_case( fixture, test_case, EllenBinTreeMap_rcu_gpb_stat, key_type, value_type ) \ CDSSTRESS_EllenBinTreeMap_case( fixture, test_case, EllenBinTreeMap_rcu_gpt_stat, key_type, value_type ) \ - CDSSTRESS_EllenBinTreeMap_1( fixture, test_case, key_type, value_type ) \ - CDSSTRESS_EllenBinTreeMap_SHRCU( fixture, test_case, key_type, value_type ) + CDSSTRESS_EllenBinTreeMap_RCU_1( fixture, test_case, key_type, value_type ) \ + CDSSTRESS_EllenBinTreeMap_SHRCU( fixture, test_case, key_type, value_type ) \ + +#define CDSSTRESS_EllenBinTreeMap( fixture, test_case, key_type, value_type ) \ + CDSSTRESS_EllenBinTreeMap_HP( fixture, test_case, key_type, value_type ) \ + CDSSTRESS_EllenBinTreeMap_RCU( fixture, test_case, key_type, value_type ) \ #endif // ifndef CDSUNIT_MAP_TYPE_ELLEN_BINTREE_H diff --git a/test/stress/map/map_type_feldman_hashmap.h b/test/stress/map/map_type_feldman_hashmap.h index 00134cb1..7993e508 100644 --- a/test/stress/map/map_type_feldman_hashmap.h +++ b/test/stress/map/map_type_feldman_hashmap.h @@ -255,67 +255,107 @@ namespace map { # define CDSSTRESS_FeldmanHashMap_city128_SHRCU( fixture, test_case, key_type, value_type ) #endif -#define CDSSTRESS_FeldmanHashMap_fixed( fixture, test_case, key_type, value_type ) \ - CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_hp_fixed, key_type, value_type ) \ - CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_dhp_fixed, key_type, value_type ) \ - CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_rcu_gpi_fixed, key_type, value_type ) \ - CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_rcu_gpb_fixed, key_type, value_type ) \ - CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_rcu_gpt_fixed, key_type, value_type ) \ - CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_hp_fixed_stat, key_type, value_type ) \ - CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_dhp_fixed_stat, key_type, value_type ) \ - CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_rcu_gpi_fixed_stat, key_type, value_type ) \ - CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_rcu_gpb_fixed_stat, key_type, value_type ) \ - CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_rcu_gpt_fixed_stat, key_type, value_type ) \ +#define CDSSTRESS_FeldmanHashMap_fixed_HP( fixture, test_case, key_type, value_type ) \ + CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_hp_fixed, key_type, value_type ) \ + CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_dhp_fixed, key_type, value_type ) \ + CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_hp_fixed_stat, key_type, value_type ) \ + CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_dhp_fixed_stat, key_type, value_type ) \ + +#define CDSSTRESS_FeldmanHashMap_fixed_RCU( fixture, test_case, key_type, value_type ) \ + CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_rcu_gpi_fixed, key_type, value_type ) \ + CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_rcu_gpb_fixed, key_type, value_type ) \ + CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_rcu_gpt_fixed, key_type, value_type ) \ + CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_rcu_gpi_fixed_stat, key_type, value_type ) \ + CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_rcu_gpb_fixed_stat, key_type, value_type ) \ + CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_rcu_gpt_fixed_stat, key_type, value_type ) \ CDSSTRESS_FeldmanHashMap_fixed_SHRCU( fixture, test_case, key_type, value_type ) -#define CDSSTRESS_FeldmanHashMap_stdhash( fixture, test_case, key_type, value_type ) \ - CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_hp_stdhash, key_type, value_type ) \ - CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_dhp_stdhash, key_type, value_type ) \ - CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_rcu_gpi_stdhash, key_type, value_type ) \ - CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_rcu_gpb_stdhash, key_type, value_type ) \ - CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_rcu_gpt_stdhash, key_type, value_type ) \ - CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_hp_stdhash_stat, key_type, value_type ) \ +#define CDSSTRESS_FeldmanHashMap_fixed( fixture, test_case, key_type, value_type ) \ + CDSSTRESS_FeldmanHashMap_fixed_HP( fixture, test_case, key_type, value_type ) \ + CDSSTRESS_FeldmanHashMap_fixed_RCU( fixture, test_case, key_type, value_type ) \ + + +#define CDSSTRESS_FeldmanHashMap_stdhash_HP( fixture, test_case, key_type, value_type ) \ + CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_hp_stdhash, key_type, value_type ) \ + CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_dhp_stdhash, key_type, value_type ) \ + CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_hp_stdhash_stat, key_type, value_type ) \ CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_dhp_stdhash_stat, key_type, value_type ) \ + +#define CDSSTRESS_FeldmanHashMap_stdhash_RCU( fixture, test_case, key_type, value_type ) \ + CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_rcu_gpi_stdhash, key_type, value_type ) \ + CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_rcu_gpb_stdhash, key_type, value_type ) \ + CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_rcu_gpt_stdhash, key_type, value_type ) \ CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_rcu_gpi_stdhash_stat, key_type, value_type ) \ CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_rcu_gpb_stdhash_stat, key_type, value_type ) \ CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_rcu_gpt_stdhash_stat, key_type, value_type ) \ CDSSTRESS_FeldmanHashMap_stdhash_SHRCU( fixture, test_case, key_type, value_type ) +#define CDSSTRESS_FeldmanHashMap_stdhash( fixture, test_case, key_type, value_type ) \ + CDSSTRESS_FeldmanHashMap_stdhash_HP( fixture, test_case, key_type, value_type ) \ + CDSSTRESS_FeldmanHashMap_stdhash_RCU( fixture, test_case, key_type, value_type ) \ + #if CDS_BUILD_BITS == 64 -# define CDSSTRESS_FeldmanHashMap_city64( fixture, test_case, key_type, value_type ) \ +# define CDSSTRESS_FeldmanHashMap_city64_HP( fixture, test_case, key_type, value_type ) \ CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_hp_city64, key_type, value_type ) \ CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_dhp_city64, key_type, value_type ) \ + CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_hp_city64_stat, key_type, value_type ) \ + CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_dhp_city64_stat, key_type, value_type ) \ + +# define CDSSTRESS_FeldmanHashMap_city64_RCU( fixture, test_case, key_type, value_type ) \ CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_rcu_gpi_city64, key_type, value_type ) \ CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_rcu_gpb_city64, key_type, value_type ) \ CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_rcu_gpt_city64, key_type, value_type ) \ - CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_hp_city64_stat, key_type, value_type ) \ - CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_dhp_city64_stat, key_type, value_type ) \ CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_rcu_gpi_city64_stat, key_type, value_type ) \ CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_rcu_gpb_city64_stat, key_type, value_type ) \ CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_rcu_gpt_city64_stat, key_type, value_type ) \ CDSSTRESS_FeldmanHashMap_city64_SHRCU( fixture, test_case, key_type, value_type ) -# define CDSSTRESS_FeldmanHashMap_city128( fixture, test_case, key_type, value_type ) \ +# define CDSSTRESS_FeldmanHashMap_city64( fixture, test_case, key_type, value_type ) \ + CDSSTRESS_FeldmanHashMap_city64_HP( fixture, test_case, key_type, value_type ) \ + CDSSTRESS_FeldmanHashMap_city64_RCU( fixture, test_case, key_type, value_type ) \ + + +# define CDSSTRESS_FeldmanHashMap_city128_HP( fixture, test_case, key_type, value_type ) \ CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_hp_city128, key_type, value_type ) \ CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_dhp_city128, key_type, value_type ) \ + CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_hp_city128_stat, key_type, value_type ) \ + CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_dhp_city128_stat, key_type, value_type ) \ + +# define CDSSTRESS_FeldmanHashMap_city128_RCU( fixture, test_case, key_type, value_type ) \ CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_rcu_gpi_city128, key_type, value_type ) \ CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_rcu_gpb_city128, key_type, value_type ) \ CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_rcu_gpt_city128, key_type, value_type ) \ - CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_hp_city128_stat, key_type, value_type ) \ - CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_dhp_city128_stat, key_type, value_type ) \ CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_rcu_gpi_city128_stat, key_type, value_type ) \ CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_rcu_gpb_city128_stat, key_type, value_type ) \ CDSSTRESS_FeldmanHashMap_case( fixture, test_case, FeldmanHashMap_rcu_gpt_city128_stat, key_type, value_type ) \ CDSSTRESS_FeldmanHashMap_city128_SHRCU( fixture, test_case, key_type, value_type ) +# define CDSSTRESS_FeldmanHashMap_city128( fixture, test_case, key_type, value_type ) \ + CDSSTRESS_FeldmanHashMap_city128_HP( fixture, test_case, key_type, value_type ) \ + CDSSTRESS_FeldmanHashMap_city128_RCU( fixture, test_case, key_type, value_type ) \ + +# define CDSSTRESS_FeldmanHashMap_city_HP( fixture, test_case, key_type, value_type ) \ + CDSSTRESS_FeldmanHashMap_city64_HP( fixture, test_case, key_type, value_type ) \ + CDSSTRESS_FeldmanHashMap_city128_HP( fixture, test_case, key_type, value_type ) + +# define CDSSTRESS_FeldmanHashMap_city_RCU( fixture, test_case, key_type, value_type ) \ + CDSSTRESS_FeldmanHashMap_city64_RCU( fixture, test_case, key_type, value_type ) \ + CDSSTRESS_FeldmanHashMap_city128_RCU( fixture, test_case, key_type, value_type ) + # define CDSSTRESS_FeldmanHashMap_city( fixture, test_case, key_type, value_type ) \ - CDSSTRESS_FeldmanHashMap_city64( fixture, test_case, key_type, value_type ) \ - CDSSTRESS_FeldmanHashMap_city128( fixture, test_case, key_type, value_type ) + CDSSTRESS_FeldmanHashMap_city_HP( fixture, test_case, key_type, value_type ) \ + CDSSTRESS_FeldmanHashMap_city_RCU( fixture, test_case, key_type, value_type ) #else +# define CDSSTRESS_FeldmanHashMap_city64_HP( fixture, test_case, key_type, value_type ) +# define CDSSTRESS_FeldmanHashMap_city64_RCU( fixture, test_case, key_type, value_type ) # define CDSSTRESS_FeldmanHashMap_city64( fixture, test_case, key_type, value_type ) +# define CDSSTRESS_FeldmanHashMap_city128_HP( fixture, test_case, key_type, value_type ) +# define CDSSTRESS_FeldmanHashMap_city128_RCU( fixture, test_case, key_type, value_type ) # define CDSSTRESS_FeldmanHashMap_city128( fixture, test_case, key_type, value_type ) +# define CDSSTRESS_FeldmanHashMap_city_HP( fixture, test_case, key_type, value_type ) +# define CDSSTRESS_FeldmanHashMap_city_RCU( fixture, test_case, key_type, value_type ) # define CDSSTRESS_FeldmanHashMap_city( fixture, test_case, key_type, value_type ) #endif -- 2.34.1