[v5,10/26] hash: remove experimental from toeplitz hash

Message ID 20231020205759.195126-11-stephen@networkplumber.org (mailing list archive)
State Superseded, archived
Delegated to: Thomas Monjalon
Headers
Series Promote many experimental API's to stable |

Checks

Context Check Description
ci/checkpatch success coding style OK

Commit Message

Stephen Hemminger Oct. 20, 2023, 8:57 p.m. UTC
  The rte_thash_ functions have been around since 2020.
Remove experimental tag.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 lib/hash/rte_thash.h          | 44 -----------------------------------
 lib/hash/rte_thash_gfni.h     |  8 -------
 lib/hash/rte_thash_x86_gfni.h |  8 -------
 lib/hash/version.map          | 16 ++++---------
 4 files changed, 4 insertions(+), 72 deletions(-)
  

Comments

Bruce Richardson Oct. 23, 2023, 9:08 a.m. UTC | #1
On Fri, Oct 20, 2023 at 01:57:43PM -0700, Stephen Hemminger wrote:
> The rte_thash_ functions have been around since 2020.
> Remove experimental tag.
> 
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>

Anything around that long should definitely look to be made stable.

Acked-by: Bruce Richardson <bruce.richardson@intel.com>
  

Patch

diff --git a/lib/hash/rte_thash.h b/lib/hash/rte_thash.h
index da06cd53c0e0..071730c7bab9 100644
--- a/lib/hash/rte_thash.h
+++ b/lib/hash/rte_thash.h
@@ -221,14 +221,10 @@  rte_softrss_be(uint32_t *input_tuple, uint32_t input_len,
 /**
  * Indicates if GFNI implementations of the Toeplitz hash are supported.
  *
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
  * @return
  *  1 if GFNI is supported
  *  0 otherwise
  */
-__rte_experimental
 int
 rte_thash_gfni_supported(void);
 
@@ -236,9 +232,6 @@  rte_thash_gfni_supported(void);
  * Converts Toeplitz hash key (RSS key) into matrixes required
  * for GFNI implementation
  *
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
  * @param matrixes
  *  pointer to the memory where matrices will be written.
  *  Note: the size of this memory must be equal to size * 8
@@ -247,7 +240,6 @@  rte_thash_gfni_supported(void);
  * @param size
  *  Size of the rss_key in bytes.
  */
-__rte_experimental
 void
 rte_thash_complete_matrix(uint64_t *matrixes, const uint8_t *rss_key,
 	int size);
@@ -276,9 +268,6 @@  struct rte_thash_subtuple_helper;
 /**
  * Create a new thash context.
  *
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
  * @param name
  *  Context name
  * @param key_len
@@ -298,7 +287,6 @@  struct rte_thash_subtuple_helper;
  *  A pointer to the created context on success
  *  NULL otherwise
  */
-__rte_experimental
 struct rte_thash_ctx *
 rte_thash_init_ctx(const char *name, uint32_t key_len, uint32_t reta_sz,
 	uint8_t *key, uint32_t flags);
@@ -306,9 +294,6 @@  rte_thash_init_ctx(const char *name, uint32_t key_len, uint32_t reta_sz,
 /**
  * Find an existing thash context and return a pointer to it.
  *
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
  * @param name
  *  Name of the thash context
  * @return
@@ -316,20 +301,15 @@  rte_thash_init_ctx(const char *name, uint32_t key_len, uint32_t reta_sz,
  *  set appropriately. Possible rte_errno values include:
  *   - ENOENT - required entry not available to return.
  */
-__rte_experimental
 struct rte_thash_ctx *
 rte_thash_find_existing(const char *name);
 
 /**
  * Free a thash context object
  *
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
  * @param ctx
  *  Thash context
  */
-__rte_experimental
 void
 rte_thash_free_ctx(struct rte_thash_ctx *ctx);
 
@@ -339,9 +319,6 @@  rte_thash_free_ctx(struct rte_thash_ctx *ctx);
  * to calculate toeplitz hash collisions.
  * This function is not multi-thread safe.
  *
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
  * @param ctx
  *  Thash context
  * @param name
@@ -355,7 +332,6 @@  rte_thash_free_ctx(struct rte_thash_ctx *ctx);
  *  0 on success
  *  negative on error
  */
-__rte_experimental
 int
 rte_thash_add_helper(struct rte_thash_ctx *ctx, const char *name, uint32_t len,
 	uint32_t offset);
@@ -363,9 +339,6 @@  rte_thash_add_helper(struct rte_thash_ctx *ctx, const char *name, uint32_t len,
 /**
  * Find a helper in the context by the given name
  *
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
  * @param ctx
  *  Thash context
  * @param name
@@ -373,7 +346,6 @@  rte_thash_add_helper(struct rte_thash_ctx *ctx, const char *name, uint32_t len,
  * @return
  *  Pointer to the thash helper or NULL if it was not found.
  */
-__rte_experimental
 struct rte_thash_subtuple_helper *
 rte_thash_get_helper(struct rte_thash_ctx *ctx, const char *name);
 
@@ -392,7 +364,6 @@  rte_thash_get_helper(struct rte_thash_ctx *ctx, const char *name);
  * @return
  *  A complementary value which must be xored with the corresponding subtuple
  */
-__rte_experimental
 uint32_t
 rte_thash_get_complement(struct rte_thash_subtuple_helper *h,
 	uint32_t hash, uint32_t desired_hash);
@@ -402,15 +373,11 @@  rte_thash_get_complement(struct rte_thash_subtuple_helper *h,
  * It changes after each addition of a helper. It should be installed to
  * the NIC.
  *
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
  * @param ctx
  *  Thash context
  * @return
  *  A pointer to the toeplitz hash key
  */
-__rte_experimental
 const uint8_t *
 rte_thash_get_key(struct rte_thash_ctx *ctx);
 
@@ -420,16 +387,12 @@  rte_thash_get_key(struct rte_thash_ctx *ctx);
  * CPU supports GFNI.
  * Matrices changes after each addition of a helper.
  *
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
  * @param ctx
  *  Thash context
  * @return
  *  A pointer to the toeplitz hash key matrices on success
  *  NULL if GFNI is not supported.
  */
-__rte_experimental
 const uint64_t *
 rte_thash_get_gfni_matrices(struct rte_thash_ctx *ctx);
 
@@ -439,9 +402,6 @@  rte_thash_get_gfni_matrices(struct rte_thash_ctx *ctx);
  * Generally it is some kind of lookup function to check
  * if adjusted tuple is already in use.
  *
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
  * @param userdata
  *  Pointer to the userdata. It could be a pointer to the
  *  table with used tuples to search.
@@ -459,9 +419,6 @@  typedef int (*rte_thash_check_tuple_t)(void *userdata, uint8_t *tuple);
  * desired least significant bits.
  * This function is multi-thread safe.
  *
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
  * @param ctx
  *  Thash context
  * @param h
@@ -483,7 +440,6 @@  typedef int (*rte_thash_check_tuple_t)(void *userdata, uint8_t *tuple);
  *  0 on success
  *  negative otherwise
  */
-__rte_experimental
 int
 rte_thash_adjust_tuple(struct rte_thash_ctx *ctx,
 	struct rte_thash_subtuple_helper *h,
diff --git a/lib/hash/rte_thash_gfni.h b/lib/hash/rte_thash_gfni.h
index ef90faa302d1..67d0fa4da988 100644
--- a/lib/hash/rte_thash_gfni.h
+++ b/lib/hash/rte_thash_gfni.h
@@ -24,9 +24,6 @@  extern "C" {
  * Calculate Toeplitz hash.
  * Dummy implementation.
  *
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
  * @param m
  *  Pointer to the matrices generated from the corresponding
  *  RSS hash key using rte_thash_complete_matrix().
@@ -37,7 +34,6 @@  extern "C" {
  * @return
  *  Calculated Toeplitz hash value.
  */
-__rte_experimental
 static inline uint32_t
 rte_thash_gfni(const uint64_t *mtrx __rte_unused,
 	const uint8_t *key __rte_unused, int len __rte_unused)
@@ -50,9 +46,6 @@  rte_thash_gfni(const uint64_t *mtrx __rte_unused,
  * Bulk implementation for Toeplitz hash.
  * Dummy implementation.
  *
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
  * @param m
  *  Pointer to the matrices generated from the corresponding
  *  RSS hash key using rte_thash_complete_matrix().
@@ -66,7 +59,6 @@  rte_thash_gfni(const uint64_t *mtrx __rte_unused,
  * @param num
  *  Number of tuples to hash.
  */
-__rte_experimental
 static inline void
 rte_thash_gfni_bulk(const uint64_t *mtrx __rte_unused,
 	int len __rte_unused, uint8_t *tuple[] __rte_unused,
diff --git a/lib/hash/rte_thash_x86_gfni.h b/lib/hash/rte_thash_x86_gfni.h
index fbec16dde081..0ff7ad07eeaa 100644
--- a/lib/hash/rte_thash_x86_gfni.h
+++ b/lib/hash/rte_thash_x86_gfni.h
@@ -161,9 +161,6 @@  __rte_thash_gfni(const uint64_t *mtrx, const uint8_t *tuple,
 /**
  * Calculate Toeplitz hash.
  *
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
  * @param m
  *  Pointer to the matrices generated from the corresponding
  *  RSS hash key using rte_thash_complete_matrix().
@@ -175,7 +172,6 @@  __rte_thash_gfni(const uint64_t *mtrx, const uint8_t *tuple,
  * @return
  *  Calculated Toeplitz hash value.
  */
-__rte_experimental
 static inline uint32_t
 rte_thash_gfni(const uint64_t *m, const uint8_t *tuple, int len)
 {
@@ -190,9 +186,6 @@  rte_thash_gfni(const uint64_t *m, const uint8_t *tuple, int len)
 /**
  * Bulk implementation for Toeplitz hash.
  *
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
  * @param m
  *  Pointer to the matrices generated from the corresponding
  *  RSS hash key using rte_thash_complete_matrix().
@@ -207,7 +200,6 @@  rte_thash_gfni(const uint64_t *m, const uint8_t *tuple, int len)
  * @param num
  *  Number of tuples to hash.
  */
-__rte_experimental
 static inline void
 rte_thash_gfni_bulk(const uint64_t *mtrx, int len, uint8_t *tuple[],
 	uint32_t val[], uint32_t num)
diff --git a/lib/hash/version.map b/lib/hash/version.map
index daaa9a8901db..b98b64a1638a 100644
--- a/lib/hash/version.map
+++ b/lib/hash/version.map
@@ -30,25 +30,17 @@  DPDK_24 {
 	rte_hash_rcu_qsbr_add;
 	rte_hash_reset;
 	rte_hash_set_cmp_func;
-
-	local: *;
-};
-
-EXPERIMENTAL {
-	global:
-
-	# added in 21.05
 	rte_thash_add_helper;
 	rte_thash_adjust_tuple;
+	rte_thash_complete_matrix;
 	rte_thash_find_existing;
 	rte_thash_free_ctx;
 	rte_thash_get_complement;
+	rte_thash_get_gfni_matrices;
 	rte_thash_get_helper;
 	rte_thash_get_key;
+	rte_thash_gfni_supported;
 	rte_thash_init_ctx;
 
-	# added in 21.11
-	rte_thash_complete_matrix;
-	rte_thash_get_gfni_matrices;
-	rte_thash_gfni_supported;
+	local: *;
 };