From 6f43682e07bb5475c64401ec14f490581b9c435d Mon Sep 17 00:00:00 2001 From: Honnappa Nagarahalli Date: Mon, 1 Jul 2019 19:27:22 -0500 Subject: [PATCH] test/hash: init parameters in the correct function 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: stable@dpdk.org Signed-off-by: Honnappa Nagarahalli Reviewed-by: Dharmik Thakkar --- 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 7943e3d821..c7fad58261 100644 --- a/app/test/test_hash_readwrite_lf.c +++ b/app/test/test_hash_readwrite_lf.c @@ -139,6 +139,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) { @@ -213,6 +259,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 @@ -502,52 +551,6 @@ err: 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) { @@ -1252,7 +1255,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() < 2) { @@ -1270,8 +1272,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.20.1