lib/hash: setting the maximum reclamation size

Message ID 20240417133929.711268-1-aomeryamac@gmail.com (mailing list archive)
State New
Delegated to: Thomas Monjalon
Headers
Series lib/hash: setting the maximum reclamation size |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/loongarch-compilation success Compilation OK
ci/loongarch-unit-testing success Unit Testing PASS
ci/Intel-compilation success Compilation OK
ci/intel-Testing success Testing PASS
ci/intel-Functional success Functional PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/github-robot: build success github build: passed
ci/iol-mellanox-Performance success Performance Testing PASS
ci/iol-sample-apps-testing success Testing PASS
ci/iol-abi-testing success Testing PASS
ci/iol-compile-amd64-testing success Testing PASS
ci/iol-unit-amd64-testing success Testing PASS
ci/iol-intel-Functional success Functional Testing PASS
ci/iol-unit-arm64-testing success Testing PASS
ci/iol-broadcom-Performance success Performance Testing PASS
ci/iol-broadcom-Functional success Functional Testing PASS
ci/iol-compile-arm64-testing success Testing PASS

Commit Message

Abdullah Ömer Yamaç April 17, 2024, 1:39 p.m. UTC
  In the previous implementation, the maximum reclamation size was set
to RTE_HASH_RCU_DQ_RECLAIM_MAX and it was not configurable. This patch
uses the configuration argument to set the maximum reclamation size.

Fixes: 769b2de7fb52 ("hash: implement RCU resources reclamation")
Cc: dharmik.thakkar@arm.com
Cc: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
Cc: Yipeng Wang <yipeng1.wang@intel.com>
Cc: Sameh Gobriel <sameh.gobriel@intel.com>
Cc: Bruce Richardson <bruce.richardson@intel.com>
Cc: Vladimir Medvedkin <vladimir.medvedkin@intel.com>

Signed-off-by: Abdullah Ömer Yamaç <aomeryamac@gmail.com>
---
 lib/hash/rte_cuckoo_hash.c | 1 +
 1 file changed, 1 insertion(+)
  

Comments

Abdullah Ömer Yamaç April 23, 2024, 1:51 p.m. UTC | #1
Hello,
Any comment on this patch?

On Wed, Apr 17, 2024 at 4:39 PM Abdullah Ömer Yamaç <aomeryamac@gmail.com>
wrote:

> In the previous implementation, the maximum reclamation size was set
> to RTE_HASH_RCU_DQ_RECLAIM_MAX and it was not configurable. This patch
> uses the configuration argument to set the maximum reclamation size.
>
> Fixes: 769b2de7fb52 ("hash: implement RCU resources reclamation")
> Cc: dharmik.thakkar@arm.com
> Cc: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
> Cc: Yipeng Wang <yipeng1.wang@intel.com>
> Cc: Sameh Gobriel <sameh.gobriel@intel.com>
> Cc: Bruce Richardson <bruce.richardson@intel.com>
> Cc: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
>
> Signed-off-by: Abdullah Ömer Yamaç <aomeryamac@gmail.com>
> ---
>  lib/hash/rte_cuckoo_hash.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/lib/hash/rte_cuckoo_hash.c b/lib/hash/rte_cuckoo_hash.c
> index 4a44aadd9a..6d80793164 100644
> --- a/lib/hash/rte_cuckoo_hash.c
> +++ b/lib/hash/rte_cuckoo_hash.c
> @@ -1557,6 +1557,7 @@ rte_hash_rcu_qsbr_add(struct rte_hash *h, struct
> rte_hash_rcu_config *cfg)
>                 if (params.size == 0)
>                         params.size = total_entries;
>                 params.trigger_reclaim_limit = cfg->trigger_reclaim_limit;
> +               params.max_reclaim_size = cfg->max_reclaim_size;
>                 if (params.max_reclaim_size == 0)
>                         params.max_reclaim_size =
> RTE_HASH_RCU_DQ_RECLAIM_MAX;
>                 params.esize = sizeof(struct __rte_hash_rcu_dq_entry);
> --
> 2.34.1
>
>
  

Patch

diff --git a/lib/hash/rte_cuckoo_hash.c b/lib/hash/rte_cuckoo_hash.c
index 4a44aadd9a..6d80793164 100644
--- a/lib/hash/rte_cuckoo_hash.c
+++ b/lib/hash/rte_cuckoo_hash.c
@@ -1557,6 +1557,7 @@  rte_hash_rcu_qsbr_add(struct rte_hash *h, struct rte_hash_rcu_config *cfg)
 		if (params.size == 0)
 			params.size = total_entries;
 		params.trigger_reclaim_limit = cfg->trigger_reclaim_limit;
+		params.max_reclaim_size = cfg->max_reclaim_size;
 		if (params.max_reclaim_size == 0)
 			params.max_reclaim_size = RTE_HASH_RCU_DQ_RECLAIM_MAX;
 		params.esize = sizeof(struct __rte_hash_rcu_dq_entry);