Reset 'iter' and 'tbl_rw_test_param.found' on each iteration
to give correct result for lost and duplicated keys.

Fixes: 0eb3726ebcf14 ("test/hash: add test for read/write concurrency")
Cc: sta...@dpdk.org

Signed-off-by: Dharmik Thakkar <dharmik.thak...@arm.com>
---
 test/test/test_hash_readwrite.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/test/test/test_hash_readwrite.c b/test/test/test_hash_readwrite.c
index 6b695ce6e444..be93a2ebd270 100644
--- a/test/test/test_hash_readwrite.c
+++ b/test/test/test_hash_readwrite.c
@@ -361,7 +361,6 @@ test_hash_readwrite_perf(struct perf *perf_results, int 
use_htm,
 
        const void *next_key;
        void *next_data;
-       uint32_t iter = 0;
        int use_jhash = 0;
 
        uint32_t duplicated_keys = 0;
@@ -536,6 +535,8 @@ test_hash_readwrite_perf(struct perf *perf_results, int 
use_htm,
 
                rte_eal_mp_wait_lcore();
 
+               uint32_t iter = 0;
+               memset(tbl_rw_test_param.found, 0, TOTAL_ENTRY);
                while (rte_hash_iterate(tbl_rw_test_param.h,
                                &next_key, &next_data, &iter) >= 0) {
                        /* Search for the key in the list of keys added .*/
@@ -619,7 +620,7 @@ test_hash_readwrite_main(void)
        if (rte_lcore_count() <= 2) {
                printf("More than two lcores are required "
                        "to do read write test\n");
-               return 0;
+               return -1;
        }
 
        RTE_LCORE_FOREACH_SLAVE(core_id) {
-- 
2.17.1

Reply via email to