From 100d9b8066e957d2302277761ea46fdb78857bac Mon Sep 17 00:00:00 2001 From: Gage Eads Date: Wed, 30 Sep 2020 16:39:54 -0500 Subject: [PATCH] stack: promote library as stable The stack library was first released in 19.05, and its interfaces have been stable since their initial introduction. This commit promotes the full interface to stable, starting with the 20.11 major version. Signed-off-by: Gage Eads Acked-by: David Marchand --- MAINTAINERS | 2 +- doc/guides/rel_notes/release_20_11.rst | 3 +++ lib/librte_stack/rte_stack.h | 32 -------------------------- lib/librte_stack/rte_stack_lf.h | 2 -- lib/librte_stack/rte_stack_std.h | 3 --- lib/librte_stack/rte_stack_version.map | 2 +- 6 files changed, 5 insertions(+), 39 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index 681093d949..13881aa737 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -348,7 +348,7 @@ F: doc/guides/prog_guide/ring_lib.rst F: app/test/test_ring* F: app/test/test_func_reentrancy.c -Stack - EXPERIMENTAL +Stack M: Gage Eads M: Olivier Matz F: lib/librte_stack/ diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst index 4e61431c6c..6d8c24413d 100644 --- a/doc/guides/rel_notes/release_20_11.rst +++ b/doc/guides/rel_notes/release_20_11.rst @@ -205,6 +205,9 @@ API Changes and the function ``rte_rawdev_queue_conf_get()`` from ``void`` to ``int`` allowing the return of error codes from drivers. +* stack: the experimental tag has been dropped from the stack library, and its + interfaces are considered stable as of DPDK 20.11. + * bpf: ``RTE_BPF_XTYPE_NUM`` has been dropped from ``rte_bpf_xtype``. diff --git a/lib/librte_stack/rte_stack.h b/lib/librte_stack/rte_stack.h index abf6420766..395b9ef835 100644 --- a/lib/librte_stack/rte_stack.h +++ b/lib/librte_stack/rte_stack.h @@ -7,10 +7,6 @@ * * RTE Stack. * - * @warning - * @b EXPERIMENTAL: - * All functions in this file may be changed or removed without prior notice. - * * librte_stack provides an API for configuration and use of a bounded stack of * pointers. Push and pop operations are MT-safe, allowing concurrent access, * and the interface supports pushing and popping multiple pointers at a time. @@ -101,9 +97,6 @@ struct rte_stack { #include "rte_stack_lf.h" /** - * @warning - * @b EXPERIMENTAL: this API may change without prior notice - * * Push several objects on the stack (MT-safe). * * @param s @@ -115,7 +108,6 @@ struct rte_stack { * @return * Actual number of objects pushed (either 0 or *n*). */ -__rte_experimental static __rte_always_inline unsigned int rte_stack_push(struct rte_stack *s, void * const *obj_table, unsigned int n) { @@ -129,9 +121,6 @@ rte_stack_push(struct rte_stack *s, void * const *obj_table, unsigned int n) } /** - * @warning - * @b EXPERIMENTAL: this API may change without prior notice - * * Pop several objects from the stack (MT-safe). * * @param s @@ -143,7 +132,6 @@ rte_stack_push(struct rte_stack *s, void * const *obj_table, unsigned int n) * @return * Actual number of objects popped (either 0 or *n*). */ -__rte_experimental static __rte_always_inline unsigned int rte_stack_pop(struct rte_stack *s, void **obj_table, unsigned int n) { @@ -157,9 +145,6 @@ rte_stack_pop(struct rte_stack *s, void **obj_table, unsigned int n) } /** - * @warning - * @b EXPERIMENTAL: this API may change without prior notice - * * Return the number of used entries in a stack. * * @param s @@ -167,7 +152,6 @@ rte_stack_pop(struct rte_stack *s, void **obj_table, unsigned int n) * @return * The number of used entries in the stack. */ -__rte_experimental static __rte_always_inline unsigned int rte_stack_count(struct rte_stack *s) { @@ -180,9 +164,6 @@ rte_stack_count(struct rte_stack *s) } /** - * @warning - * @b EXPERIMENTAL: this API may change without prior notice - * * Return the number of free entries in a stack. * * @param s @@ -190,7 +171,6 @@ rte_stack_count(struct rte_stack *s) * @return * The number of free entries in the stack. */ -__rte_experimental static __rte_always_inline unsigned int rte_stack_free_count(struct rte_stack *s) { @@ -200,9 +180,6 @@ rte_stack_free_count(struct rte_stack *s) } /** - * @warning - * @b EXPERIMENTAL: this API may change without prior notice - * * Create a new stack named *name* in memory. * * This function uses ``memzone_reserve()`` to allocate memory for a stack of @@ -229,28 +206,20 @@ rte_stack_free_count(struct rte_stack *s) * - ENOMEM - insufficient memory to create the stack * - ENAMETOOLONG - name size exceeds RTE_STACK_NAMESIZE */ -__rte_experimental struct rte_stack * rte_stack_create(const char *name, unsigned int count, int socket_id, uint32_t flags); /** - * @warning - * @b EXPERIMENTAL: this API may change without prior notice - * * Free all memory used by the stack. * * @param s * Stack to free */ -__rte_experimental void rte_stack_free(struct rte_stack *s); /** - * @warning - * @b EXPERIMENTAL: this API may change without prior notice - * * Lookup a stack by its name. * * @param name @@ -261,7 +230,6 @@ rte_stack_free(struct rte_stack *s); * - ENOENT - Stack with name *name* not found. * - EINVAL - *name* pointer is NULL. */ -__rte_experimental struct rte_stack * rte_stack_lookup(const char *name); diff --git a/lib/librte_stack/rte_stack_lf.h b/lib/librte_stack/rte_stack_lf.h index e67630c277..eb106e64e6 100644 --- a/lib/librte_stack/rte_stack_lf.h +++ b/lib/librte_stack/rte_stack_lf.h @@ -27,7 +27,6 @@ * @return * Actual number of objects enqueued. */ -__rte_experimental static __rte_always_inline unsigned int __rte_stack_lf_push(struct rte_stack *s, void * const *obj_table, @@ -66,7 +65,6 @@ __rte_stack_lf_push(struct rte_stack *s, * @return * - Actual number of objects popped. */ -__rte_experimental static __rte_always_inline unsigned int __rte_stack_lf_pop(struct rte_stack *s, void **obj_table, unsigned int n) { diff --git a/lib/librte_stack/rte_stack_std.h b/lib/librte_stack/rte_stack_std.h index 7142cbf8ec..ae28add5c4 100644 --- a/lib/librte_stack/rte_stack_std.h +++ b/lib/librte_stack/rte_stack_std.h @@ -19,7 +19,6 @@ * @return * Actual number of objects pushed (either 0 or *n*). */ -__rte_experimental static __rte_always_inline unsigned int __rte_stack_std_push(struct rte_stack *s, void * const *obj_table, unsigned int n) @@ -59,7 +58,6 @@ __rte_stack_std_push(struct rte_stack *s, void * const *obj_table, * @return * Actual number of objects popped (either 0 or *n*). */ -__rte_experimental static __rte_always_inline unsigned int __rte_stack_std_pop(struct rte_stack *s, void **obj_table, unsigned int n) { @@ -94,7 +92,6 @@ __rte_stack_std_pop(struct rte_stack *s, void **obj_table, unsigned int n) * @return * The number of used entries in the stack. */ -__rte_experimental static __rte_always_inline unsigned int __rte_stack_std_count(struct rte_stack *s) { diff --git a/lib/librte_stack/rte_stack_version.map b/lib/librte_stack/rte_stack_version.map index 6662679c36..8c4ca0245d 100644 --- a/lib/librte_stack/rte_stack_version.map +++ b/lib/librte_stack/rte_stack_version.map @@ -1,4 +1,4 @@ -EXPERIMENTAL { +DPDK_21 { global: rte_stack_create; -- 2.20.1