hash: promote APIs to stable

Message ID 20211013213858.16200-1-honnappa.nagarahalli@arm.com (mailing list archive)
State Superseded, archived
Delegated to: David Marchand
Headers
Series hash: promote APIs to stable |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/github-robot: build success github build: passed
ci/iol-broadcom-Functional success Functional Testing PASS
ci/iol-broadcom-Performance success Performance Testing PASS
ci/iol-x86_64-compile-testing success Testing PASS
ci/iol-x86_64-unit-testing success Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS
ci/iol-aarch64-unit-testing success Testing PASS
ci/iol-aarch64-compile-testing success Testing PASS
ci/Intel-compilation success Compilation OK
ci/intel-Testing success Testing PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-intel-Functional success Functional Testing PASS

Commit Message

Honnappa Nagarahalli Oct. 13, 2021, 9:38 p.m. UTC
  Promote rte_hash_free_key_with_position and rte_hash_rcu_qsbr_add APIs
to stable.

Signed-off-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
Reviewed-by: Dharmik Thakkar <dharmik.thakkar@arm.com>
---
 lib/hash/rte_hash.h  | 2 --
 lib/hash/version.map | 4 ++--
 2 files changed, 2 insertions(+), 4 deletions(-)
  

Comments

Stephen Hemminger Oct. 13, 2021, 10:41 p.m. UTC | #1
On Wed, 13 Oct 2021 16:38:58 -0500
Honnappa Nagarahalli <honnappa.nagarahalli@arm.com> wrote:

> --- a/lib/hash/rte_hash.h
> +++ b/lib/hash/rte_hash.h
> @@ -430,7 +430,6 @@ rte_hash_get_key_with_position(const struct rte_hash *h, const int32_t position,
>   *   - 0 if freed successfully
>   *   - -EINVAL if the parameters are invalid.
>   */
> -__rte_experimental
>  int
>  rte_hash_free_key_with_position(const struct rte_hash *h,
>  				const int32_t position);


Need to remove @warning EXPERIMENTAL in comment.


What about all the other experimental functions in here?
It looks like all of them should be promoted.
  
Honnappa Nagarahalli Oct. 14, 2021, 12:19 a.m. UTC | #2
<snip>

> 
> On Wed, 13 Oct 2021 16:38:58 -0500
> Honnappa Nagarahalli <honnappa.nagarahalli@arm.com> wrote:
> 
> > --- a/lib/hash/rte_hash.h
> > +++ b/lib/hash/rte_hash.h
> > @@ -430,7 +430,6 @@ rte_hash_get_key_with_position(const struct
> rte_hash *h, const int32_t position,
> >   *   - 0 if freed successfully
> >   *   - -EINVAL if the parameters are invalid.
> >   */
> > -__rte_experimental
> >  int
> >  rte_hash_free_key_with_position(const struct rte_hash *h,
> >  				const int32_t position);
> 
> 
> Need to remove @warning EXPERIMENTAL in comment.
Agreed

> 
> 
> What about all the other experimental functions in here?
> It looks like all of them should be promoted.
I just changed the symbol that was reported by the tool.
rte_thash_*** were added on 4/19/2021. Vladimir, are you ok with promoting them?

Yipeng, if you are fine, I can promote rte_hash_lookup_with_hash_bulk, rte_hash_lookup_with_hash_bulk_data and rte_hash_max_key_id. These are around more than a year.
  
Wang, Yipeng1 Oct. 14, 2021, 1:54 a.m. UTC | #3
> -----Original Message-----
> From: Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>
> Sent: Wednesday, October 13, 2021 5:19 PM
> To: Stephen Hemminger <stephen@networkplumber.org>
> Cc: dev@dpdk.org; mdr@ashroe.eu; Wang, Yipeng1
> <yipeng1.wang@intel.com>; Dharmik Thakkar <Dharmik.Thakkar@arm.com>;
> nd <nd@arm.com>; Medvedkin, Vladimir <vladimir.medvedkin@intel.com>;
> nd <nd@arm.com>
> Subject: RE: [dpdk-dev] [PATCH] hash: promote APIs to stable
> 
> <snip>
> 
> >
> > On Wed, 13 Oct 2021 16:38:58 -0500
> > Honnappa Nagarahalli <honnappa.nagarahalli@arm.com> wrote:
> >
> > > --- a/lib/hash/rte_hash.h
> > > +++ b/lib/hash/rte_hash.h
> > > @@ -430,7 +430,6 @@ rte_hash_get_key_with_position(const struct
> > rte_hash *h, const int32_t position,
> > >   *   - 0 if freed successfully
> > >   *   - -EINVAL if the parameters are invalid.
> > >   */
> > > -__rte_experimental
> > >  int
> > >  rte_hash_free_key_with_position(const struct rte_hash *h,
> > >  				const int32_t position);
> >
> >
> > Need to remove @warning EXPERIMENTAL in comment.
> Agreed
> 
> >
> >
> > What about all the other experimental functions in here?
> > It looks like all of them should be promoted.
> I just changed the symbol that was reported by the tool.
> rte_thash_*** were added on 4/19/2021. Vladimir, are you ok with
> promoting them?
> 
> Yipeng, if you are fine, I can promote rte_hash_lookup_with_hash_bulk,
> rte_hash_lookup_with_hash_bulk_data and rte_hash_max_key_id. These
> are around more than a year.
[Wang, Yipeng] 
Thanks Honnappa, please go ahead and have them in your patch. Thanks a lot!
  
Vladimir Medvedkin Oct. 14, 2021, 4:46 p.m. UTC | #4
Hi Honnappa,

On 14/10/2021 02:19, Honnappa Nagarahalli wrote:
> <snip>
> 
>>
>> On Wed, 13 Oct 2021 16:38:58 -0500
>> Honnappa Nagarahalli <honnappa.nagarahalli@arm.com> wrote:
>>
>>> --- a/lib/hash/rte_hash.h
>>> +++ b/lib/hash/rte_hash.h
>>> @@ -430,7 +430,6 @@ rte_hash_get_key_with_position(const struct
>> rte_hash *h, const int32_t position,
>>>    *   - 0 if freed successfully
>>>    *   - -EINVAL if the parameters are invalid.
>>>    */
>>> -__rte_experimental
>>>   int
>>>   rte_hash_free_key_with_position(const struct rte_hash *h,
>>>   				const int32_t position);
>>
>>
>> Need to remove @warning EXPERIMENTAL in comment.
> Agreed
> 
>>
>>
>> What about all the other experimental functions in here?
>> It looks like all of them should be promoted.
> I just changed the symbol that was reported by the tool.
> rte_thash_*** were added on 4/19/2021. Vladimir, are you ok with promoting them?
> 

I think it is too early to make this API stable.

> Yipeng, if you are fine, I can promote rte_hash_lookup_with_hash_bulk, rte_hash_lookup_with_hash_bulk_data and rte_hash_max_key_id. These are around more than a year.
>
  

Patch

diff --git a/lib/hash/rte_hash.h b/lib/hash/rte_hash.h
index 73c415ff7e..0d3ef231b7 100644
--- a/lib/hash/rte_hash.h
+++ b/lib/hash/rte_hash.h
@@ -430,7 +430,6 @@  rte_hash_get_key_with_position(const struct rte_hash *h, const int32_t position,
  *   - 0 if freed successfully
  *   - -EINVAL if the parameters are invalid.
  */
-__rte_experimental
 int
 rte_hash_free_key_with_position(const struct rte_hash *h,
 				const int32_t position);
@@ -691,7 +690,6 @@  rte_hash_iterate(const struct rte_hash *h, const void **key, void **data, uint32
  *   - EEXIST - already added QSBR
  *   - ENOMEM - memory allocation failure
  */
-__rte_experimental
 int rte_hash_rcu_qsbr_add(struct rte_hash *h, struct rte_hash_rcu_config *cfg);
 
 #ifdef __cplusplus
diff --git a/lib/hash/version.map b/lib/hash/version.map
index ce4309aa07..85178df3f7 100644
--- a/lib/hash/version.map
+++ b/lib/hash/version.map
@@ -14,6 +14,7 @@  DPDK_22 {
 	rte_hash_del_key_with_hash;
 	rte_hash_find_existing;
 	rte_hash_free;
+	rte_hash_free_key_with_position;
 	rte_hash_get_key_with_position;
 	rte_hash_hash;
 	rte_hash_iterate;
@@ -23,6 +24,7 @@  DPDK_22 {
 	rte_hash_lookup_data;
 	rte_hash_lookup_with_hash;
 	rte_hash_lookup_with_hash_data;
+	rte_hash_rcu_qsbr_add;
 	rte_hash_reset;
 	rte_hash_set_cmp_func;
 
@@ -32,11 +34,9 @@  DPDK_22 {
 EXPERIMENTAL {
 	global:
 
-	rte_hash_free_key_with_position;
 	rte_hash_lookup_with_hash_bulk;
 	rte_hash_lookup_with_hash_bulk_data;
 	rte_hash_max_key_id;
-	rte_hash_rcu_qsbr_add;
 	rte_thash_add_helper;
 	rte_thash_adjust_tuple;
 	rte_thash_find_existing;