On Thu, Jun 27, 2019 at 5:25 AM Honnappa Nagarahalli < honnappa.nagaraha...@arm.com> wrote:
> Each test case initializes its hash parameters in the test case > function. To be consistent, generate keys function should initialize > hash parameters similarly. > > Fixes: c7eb0972e74b ("test/hash: add lock-free r/w concurrency") > Cc: sta...@dpdk.org > > Signed-off-by: Honnappa Nagarahalli <honnappa.nagaraha...@arm.com> > Reviewed-by: Dharmik Thakkar <dharmik.thak...@arm.com> > --- > app/test/test_hash_readwrite_lf.c | 98 +++++++++++++++---------------- > 1 file changed, 49 insertions(+), 49 deletions(-) > > diff --git a/app/test/test_hash_readwrite_lf.c > b/app/test/test_hash_readwrite_lf.c > index e92d1065b..efabb60ef 100644 > --- a/app/test/test_hash_readwrite_lf.c > +++ b/app/test/test_hash_readwrite_lf.c > @@ -141,6 +141,52 @@ get_enabled_cores_list(void) > return 0; > } > > +static int > +init_params(int rwc_lf, int use_jhash, int htm, int ext_bkt) > +{ > + struct rte_hash *handle; > + > + struct rte_hash_parameters hash_params = { > + .entries = TOTAL_ENTRY, > + .key_len = sizeof(uint32_t), > + .hash_func_init_val = 0, > + .socket_id = rte_socket_id(), > + }; > + > + if (use_jhash) > + hash_params.hash_func = rte_jhash; > + else > + hash_params.hash_func = rte_hash_crc; > + > + if (rwc_lf) > + hash_params.extra_flag = > + RTE_HASH_EXTRA_FLAGS_RW_CONCURRENCY_LF | > + RTE_HASH_EXTRA_FLAGS_MULTI_WRITER_ADD; > + else if (htm) > + hash_params.extra_flag = > + RTE_HASH_EXTRA_FLAGS_TRANS_MEM_SUPPORT | > + RTE_HASH_EXTRA_FLAGS_RW_CONCURRENCY | > + RTE_HASH_EXTRA_FLAGS_MULTI_WRITER_ADD; > + else > + hash_params.extra_flag = > + RTE_HASH_EXTRA_FLAGS_RW_CONCURRENCY | > + RTE_HASH_EXTRA_FLAGS_MULTI_WRITER_ADD; > + > + if (ext_bkt) > + hash_params.extra_flag |= RTE_HASH_EXTRA_FLAGS_EXT_TABLE; > + > + hash_params.name = "tests"; > + > + handle = rte_hash_create(&hash_params); > + if (handle == NULL) { > + printf("hash creation failed"); > + return -1; > + } > + > + tbl_rwc_test_param.h = handle; > + return 0; > +} > + > static inline int > check_bucket(uint32_t bkt_idx, uint32_t key) > { > @@ -215,6 +261,9 @@ generate_keys(void) > uint32_t count_keys_extbkt = 0; > uint32_t i; > > + if (init_params(0, 0, 0, 0) != 0) > + return -1; > + > /* > * keys will consist of a) keys whose addition to the hash table > * will result in shifting of the existing keys to their alternate > @@ -504,52 +553,6 @@ generate_keys(void) > return -1; > } > > -static int > -init_params(int rwc_lf, int use_jhash, int htm, int ext_bkt) > -{ > - struct rte_hash *handle; > - > - struct rte_hash_parameters hash_params = { > - .entries = TOTAL_ENTRY, > - .key_len = sizeof(uint32_t), > - .hash_func_init_val = 0, > - .socket_id = rte_socket_id(), > - }; > - > - if (use_jhash) > - hash_params.hash_func = rte_jhash; > - else > - hash_params.hash_func = rte_hash_crc; > - > - if (rwc_lf) > - hash_params.extra_flag = > - RTE_HASH_EXTRA_FLAGS_RW_CONCURRENCY_LF | > - RTE_HASH_EXTRA_FLAGS_MULTI_WRITER_ADD; > - else if (htm) > - hash_params.extra_flag = > - RTE_HASH_EXTRA_FLAGS_TRANS_MEM_SUPPORT | > - RTE_HASH_EXTRA_FLAGS_RW_CONCURRENCY | > - RTE_HASH_EXTRA_FLAGS_MULTI_WRITER_ADD; > - else > - hash_params.extra_flag = > - RTE_HASH_EXTRA_FLAGS_RW_CONCURRENCY | > - RTE_HASH_EXTRA_FLAGS_MULTI_WRITER_ADD; > - > - if (ext_bkt) > - hash_params.extra_flag |= RTE_HASH_EXTRA_FLAGS_EXT_TABLE; > - > - hash_params.name = "tests"; > - > - handle = rte_hash_create(&hash_params); > - if (handle == NULL) { > - printf("hash creation failed"); > - return -1; > - } > - > - tbl_rwc_test_param.h = handle; > - return 0; > -} > - > static int > test_rwc_reader(__attribute__((unused)) void *arg) > { > @@ -1254,7 +1257,6 @@ test_hash_readwrite_lf_main(void) > */ > int rwc_lf = 0; > int htm; > - int use_jhash = 0; > int ext_bkt = 0; > if (rte_lcore_count() == 1) { > printf("More than one lcore is required " > @@ -1272,8 +1274,6 @@ test_hash_readwrite_lf_main(void) > else > htm = 0; > > - if (init_params(rwc_lf, use_jhash, htm, ext_bkt) != 0) > - return -1; > if (generate_keys() != 0) > return -1; > if (get_enabled_cores_list() != 0) > -- > 2.17.1 > > This patch impacts the memory allocations, it should be placed before patch 2. -- David Marchand