lib/hash: setting the maximum reclamation size

Message ID 20240417133929.711268-1-aomeryamac@gmail.com (mailing list archive)
State Superseded
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
>
>
  
Abdullah Ömer Yamaç May 10, 2024, 3:08 a.m. UTC | #2
Hello,
Is there any comment on this patch?

On Tue, Apr 23, 2024 at 4:51 PM Abdullah Ömer Yamaç <aomeryamac@gmail.com>
wrote:

> 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
>>
>>
  
Honnappa Nagarahalli May 13, 2024, 5:29 a.m. UTC | #3
Hi Abdullah,
	Few comments inline

> On Apr 17, 2024, at 8:39 AM, 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.
Nit. This can be as follows:
“Set the maximum reclamation size to user provided value”

> 
> 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>
Please add:
stable@dpdk.org to the Cc list

> 
> 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);