diff mbox series

[3/3] test/hash: init hash parameters in the correct function

Message ID 20190627032420.4730-3-honnappa.nagarahalli@arm.com
State Superseded
Headers show
Series [1/3] test/hash: reset global variable to discard old data | expand

Commit Message

Honnappa Nagarahalli June 27, 2019, 3:24 a.m. UTC
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 <honnappa.nagarahalli@arm.com>

Reviewed-by: Dharmik Thakkar <dharmik.thakkar@arm.com>

---
 app/test/test_hash_readwrite_lf.c | 98 +++++++++++++++----------------
 1 file changed, 49 insertions(+), 49 deletions(-)

-- 
2.17.1

Comments

David Marchand June 27, 2019, 8:07 a.m. UTC | #1
On Thu, Jun 27, 2019 at 5:25 AM Honnappa Nagarahalli <
honnappa.nagarahalli@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: stable@dpdk.org

>

> Signed-off-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>

> Reviewed-by: Dharmik Thakkar <dharmik.thakkar@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
Honnappa Nagarahalli June 28, 2019, 4:55 a.m. UTC | #2
<snip>

 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.
[Honnappa] Done in V2


--
David Marchand
diff mbox series

Patch

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)