The dispatcher library was added in 23.11 and none of its functions have changed since. It has been experimental for two years, which is long enough to call the interface settled.
Promote all of it: the whole library is covered by a single file level experimental warning in the header, so there is nothing left to keep experimental once the symbols are promoted. Signed-off-by: Stephen Hemminger <[email protected]> --- doc/guides/rel_notes/release_26_11.rst | 4 ++++ lib/dispatcher/rte_dispatcher.c | 26 +++++++++++++------------- lib/dispatcher/rte_dispatcher.h | 18 ------------------ 3 files changed, 17 insertions(+), 31 deletions(-) diff --git a/doc/guides/rel_notes/release_26_11.rst b/doc/guides/rel_notes/release_26_11.rst index 790b8943c2..5b60203afd 100644 --- a/doc/guides/rel_notes/release_26_11.rst +++ b/doc/guides/rel_notes/release_26_11.rst @@ -223,6 +223,10 @@ API Changes * cmdline: Promoted ``cmdline_token_bool_ops`` from experimental to stable. +* dispatcher: Promoted the whole library API from experimental to stable. + The ``rte_dispatcher_*`` functions are unchanged since the library was + added in 23.11. + * eal: Improved pointer arithmetic macros. * ``RTE_PTR_ADD``, ``RTE_PTR_SUB``, ``RTE_PTR_ALIGN``, ``RTE_PTR_ALIGN_CEIL``, diff --git a/lib/dispatcher/rte_dispatcher.c b/lib/dispatcher/rte_dispatcher.c index a35967f7b7..2e8e121ed8 100644 --- a/lib/dispatcher/rte_dispatcher.c +++ b/lib/dispatcher/rte_dispatcher.c @@ -267,7 +267,7 @@ evd_service_unregister(struct rte_dispatcher *dispatcher) return rc; } -RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_dispatcher_create, 23.11) +RTE_EXPORT_SYMBOL(rte_dispatcher_create) struct rte_dispatcher * rte_dispatcher_create(uint8_t event_dev_id) { @@ -302,7 +302,7 @@ rte_dispatcher_create(uint8_t event_dev_id) return dispatcher; } -RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_dispatcher_free, 23.11) +RTE_EXPORT_SYMBOL(rte_dispatcher_free) int rte_dispatcher_free(struct rte_dispatcher *dispatcher) { @@ -320,7 +320,7 @@ rte_dispatcher_free(struct rte_dispatcher *dispatcher) return 0; } -RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_dispatcher_service_id_get, 23.11) +RTE_EXPORT_SYMBOL(rte_dispatcher_service_id_get) uint32_t rte_dispatcher_service_id_get(const struct rte_dispatcher *dispatcher) { @@ -344,7 +344,7 @@ lcore_port_index(struct rte_dispatcher_lcore *lcore, return -1; } -RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_dispatcher_bind_port_to_lcore, 23.11) +RTE_EXPORT_SYMBOL(rte_dispatcher_bind_port_to_lcore) int rte_dispatcher_bind_port_to_lcore(struct rte_dispatcher *dispatcher, uint8_t event_port_id, uint16_t batch_size, uint64_t timeout, @@ -374,7 +374,7 @@ rte_dispatcher_bind_port_to_lcore(struct rte_dispatcher *dispatcher, return 0; } -RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_dispatcher_unbind_port_from_lcore, 23.11) +RTE_EXPORT_SYMBOL(rte_dispatcher_unbind_port_from_lcore) int rte_dispatcher_unbind_port_from_lcore(struct rte_dispatcher *dispatcher, uint8_t event_port_id, unsigned int lcore_id) @@ -457,7 +457,7 @@ evd_install_handler(struct rte_dispatcher *dispatcher, } } -RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_dispatcher_register, 23.11) +RTE_EXPORT_SYMBOL(rte_dispatcher_register) int rte_dispatcher_register(struct rte_dispatcher *dispatcher, rte_dispatcher_match_t match_fun, void *match_data, @@ -529,7 +529,7 @@ evd_uninstall_handler(struct rte_dispatcher *dispatcher, int handler_id) return 0; } -RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_dispatcher_unregister, 23.11) +RTE_EXPORT_SYMBOL(rte_dispatcher_unregister) int rte_dispatcher_unregister(struct rte_dispatcher *dispatcher, int handler_id) { @@ -583,7 +583,7 @@ evd_alloc_finalizer(struct rte_dispatcher *dispatcher) return finalizer; } -RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_dispatcher_finalize_register, 23.11) +RTE_EXPORT_SYMBOL(rte_dispatcher_finalize_register) int rte_dispatcher_finalize_register(struct rte_dispatcher *dispatcher, rte_dispatcher_finalize_t finalize_fun, void *finalize_data) @@ -601,7 +601,7 @@ rte_dispatcher_finalize_register(struct rte_dispatcher *dispatcher, return finalizer->id; } -RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_dispatcher_finalize_unregister, 23.11) +RTE_EXPORT_SYMBOL(rte_dispatcher_finalize_unregister) int rte_dispatcher_finalize_unregister(struct rte_dispatcher *dispatcher, int finalizer_id) @@ -653,14 +653,14 @@ evd_set_service_runstate(struct rte_dispatcher *dispatcher, int state) RTE_VERIFY(rc == 0); } -RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_dispatcher_start, 23.11) +RTE_EXPORT_SYMBOL(rte_dispatcher_start) void rte_dispatcher_start(struct rte_dispatcher *dispatcher) { evd_set_service_runstate(dispatcher, 1); } -RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_dispatcher_stop, 23.11) +RTE_EXPORT_SYMBOL(rte_dispatcher_stop) void rte_dispatcher_stop(struct rte_dispatcher *dispatcher) { @@ -677,7 +677,7 @@ evd_aggregate_stats(struct rte_dispatcher_stats *result, result->ev_drop_count += part->ev_drop_count; } -RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_dispatcher_stats_get, 23.11) +RTE_EXPORT_SYMBOL(rte_dispatcher_stats_get) void rte_dispatcher_stats_get(const struct rte_dispatcher *dispatcher, struct rte_dispatcher_stats *stats) @@ -694,7 +694,7 @@ rte_dispatcher_stats_get(const struct rte_dispatcher *dispatcher, } } -RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_dispatcher_stats_reset, 23.11) +RTE_EXPORT_SYMBOL(rte_dispatcher_stats_reset) void rte_dispatcher_stats_reset(struct rte_dispatcher *dispatcher) { diff --git a/lib/dispatcher/rte_dispatcher.h b/lib/dispatcher/rte_dispatcher.h index ba2c353073..9f080be249 100644 --- a/lib/dispatcher/rte_dispatcher.h +++ b/lib/dispatcher/rte_dispatcher.h @@ -10,10 +10,6 @@ * * RTE Dispatcher * - * @warning - * @b EXPERIMENTAL: - * All functions in this file may be changed or removed without prior notice. - * * The purpose of the dispatcher is to help decouple different parts * of an application (e.g., modules), sharing the same underlying * event device. @@ -22,7 +18,6 @@ #include <stdbool.h> #include <stdint.h> -#include <rte_compat.h> #include <rte_eventdev.h> #ifdef __cplusplus @@ -127,7 +122,6 @@ struct rte_dispatcher_stats { * A pointer to a new dispatcher instance, or NULL on failure, in which * case rte_errno is set. */ -__rte_experimental struct rte_dispatcher * rte_dispatcher_create(uint8_t event_dev_id); @@ -141,7 +135,6 @@ rte_dispatcher_create(uint8_t event_dev_id); * - 0: Success * - <0: Error code on failure */ -__rte_experimental int rte_dispatcher_free(struct rte_dispatcher *dispatcher); @@ -154,7 +147,6 @@ rte_dispatcher_free(struct rte_dispatcher *dispatcher); * @return * The dispatcher service's id. */ -__rte_experimental uint32_t rte_dispatcher_service_id_get(const struct rte_dispatcher *dispatcher); @@ -199,7 +191,6 @@ rte_dispatcher_service_id_get(const struct rte_dispatcher *dispatcher); * - -EEXISTS: Event port is already configured. * - -EINVAL: Invalid arguments. */ -__rte_experimental int rte_dispatcher_bind_port_to_lcore(struct rte_dispatcher *dispatcher, uint8_t event_port_id, uint16_t batch_size, uint64_t timeout, @@ -225,7 +216,6 @@ rte_dispatcher_bind_port_to_lcore(struct rte_dispatcher *dispatcher, * - 0: Success * - -ENOENT: Event port id not bound to this @c lcore_id. */ -__rte_experimental int rte_dispatcher_unbind_port_from_lcore(struct rte_dispatcher *dispatcher, uint8_t event_port_id, unsigned int lcore_id); @@ -289,7 +279,6 @@ rte_dispatcher_unbind_port_from_lcore(struct rte_dispatcher *dispatcher, * - >= 0: The identifier for this registration. * - -ENOMEM: Unable to allocate sufficient resources. */ -__rte_experimental int rte_dispatcher_register(struct rte_dispatcher *dispatcher, rte_dispatcher_match_t match_fun, void *match_cb_data, @@ -313,7 +302,6 @@ rte_dispatcher_register(struct rte_dispatcher *dispatcher, * - 0: Success * - -EINVAL: The @c handler_id parameter was invalid. */ -__rte_experimental int rte_dispatcher_unregister(struct rte_dispatcher *dispatcher, int handler_id); @@ -355,7 +343,6 @@ rte_dispatcher_unregister(struct rte_dispatcher *dispatcher, int handler_id); * - >= 0: The identifier for this registration. * - -ENOMEM: Unable to allocate sufficient resources. */ -__rte_experimental int rte_dispatcher_finalize_register(struct rte_dispatcher *dispatcher, rte_dispatcher_finalize_t finalize_fun, void *finalize_data); @@ -378,7 +365,6 @@ rte_dispatcher_finalize_register(struct rte_dispatcher *dispatcher, * - 0: Success * - -EINVAL: The @c reg_id parameter was invalid. */ -__rte_experimental int rte_dispatcher_finalize_unregister(struct rte_dispatcher *dispatcher, int reg_id); @@ -403,7 +389,6 @@ rte_dispatcher_finalize_unregister(struct rte_dispatcher *dispatcher, int reg_id * @param dispatcher * The dispatcher instance. */ -__rte_experimental void rte_dispatcher_start(struct rte_dispatcher *dispatcher); @@ -415,7 +400,6 @@ rte_dispatcher_start(struct rte_dispatcher *dispatcher); * @param dispatcher * The dispatcher instance. */ -__rte_experimental void rte_dispatcher_stop(struct rte_dispatcher *dispatcher); @@ -430,7 +414,6 @@ rte_dispatcher_stop(struct rte_dispatcher *dispatcher); * @param[out] stats * A pointer to a structure to fill with statistics. */ -__rte_experimental void rte_dispatcher_stats_get(const struct rte_dispatcher *dispatcher, struct rte_dispatcher_stats *stats); @@ -445,7 +428,6 @@ rte_dispatcher_stats_get(const struct rte_dispatcher *dispatcher, * @param dispatcher * The dispatcher instance. */ -__rte_experimental void rte_dispatcher_stats_reset(struct rte_dispatcher *dispatcher); -- 2.53.0

