* [PATCH 1/6] eventdev/eth_rx: promote adapter API to stable
2026-09-02 15:53 [PATCH 0/6] eventdev: promote long-standing experimental API to stable Stephen Hemminger
@ 2026-09-02 15:53 ` Stephen Hemminger
2026-09-02 15:53 ` [PATCH 2/6] eventdev/eth_tx: promote adapter runtime params " Stephen Hemminger
` (4 subsequent siblings)
5 siblings, 0 replies; 8+ messages in thread
From: Stephen Hemminger @ 2026-09-02 15:53 UTC (permalink / raw)
To: dev; +Cc: Stephen Hemminger, Naga Harish K S V, Jerin Jacob
The Rx adapter runtime parameter functions were added in v23.03 and
rte_event_eth_rx_adapter_create_ext_with_params() in v23.11. None of
them have changed since, so remove the experimental tag.
The rte_event_eth_rx_adapter_queues_add() function is left experimental
because it was only added in v25.03.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
doc/guides/rel_notes/release_26_11.rst | 7 +++++++
lib/eventdev/rte_event_eth_rx_adapter.c | 8 ++++----
lib/eventdev/rte_event_eth_rx_adapter.h | 4 ----
3 files changed, 11 insertions(+), 8 deletions(-)
diff --git a/doc/guides/rel_notes/release_26_11.rst b/doc/guides/rel_notes/release_26_11.rst
index 87c7e81bde..fb7d9d6448 100644
--- a/doc/guides/rel_notes/release_26_11.rst
+++ b/doc/guides/rel_notes/release_26_11.rst
@@ -95,6 +95,13 @@ API Changes
Also, make sure to start the actual text at the margin.
=======================================================
+* eventdev: Promoted the following API from experimental to stable:
+
+ * Rx adapter: ``rte_event_eth_rx_adapter_create_ext_with_params``,
+ ``rte_event_eth_rx_adapter_runtime_params_init``,
+ ``rte_event_eth_rx_adapter_runtime_params_set`` and
+ ``rte_event_eth_rx_adapter_runtime_params_get``
+
ABI Changes
-----------
diff --git a/lib/eventdev/rte_event_eth_rx_adapter.c b/lib/eventdev/rte_event_eth_rx_adapter.c
index 635bd6014b..26c0a26db1 100644
--- a/lib/eventdev/rte_event_eth_rx_adapter.c
+++ b/lib/eventdev/rte_event_eth_rx_adapter.c
@@ -2566,7 +2566,7 @@ rte_event_eth_rx_adapter_create_with_params(uint8_t id, uint8_t dev_id,
return ret;
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_eth_rx_adapter_create_ext_with_params, 23.11)
+RTE_EXPORT_SYMBOL(rte_event_eth_rx_adapter_create_ext_with_params)
int
rte_event_eth_rx_adapter_create_ext_with_params(uint8_t id, uint8_t dev_id,
rte_event_eth_rx_adapter_conf_cb conf_cb,
@@ -3683,7 +3683,7 @@ rxa_caps_check(struct event_eth_rx_adapter *rxa)
return -ENOTSUP;
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_eth_rx_adapter_runtime_params_init, 23.03)
+RTE_EXPORT_SYMBOL(rte_event_eth_rx_adapter_runtime_params_init)
int
rte_event_eth_rx_adapter_runtime_params_init(
struct rte_event_eth_rx_adapter_runtime_params *params)
@@ -3697,7 +3697,7 @@ rte_event_eth_rx_adapter_runtime_params_init(
return 0;
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_eth_rx_adapter_runtime_params_set, 23.03)
+RTE_EXPORT_SYMBOL(rte_event_eth_rx_adapter_runtime_params_set)
int
rte_event_eth_rx_adapter_runtime_params_set(uint8_t id,
struct rte_event_eth_rx_adapter_runtime_params *params)
@@ -3726,7 +3726,7 @@ rte_event_eth_rx_adapter_runtime_params_set(uint8_t id,
return 0;
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_eth_rx_adapter_runtime_params_get, 23.03)
+RTE_EXPORT_SYMBOL(rte_event_eth_rx_adapter_runtime_params_get)
int
rte_event_eth_rx_adapter_runtime_params_get(uint8_t id,
struct rte_event_eth_rx_adapter_runtime_params *params)
diff --git a/lib/eventdev/rte_event_eth_rx_adapter.h b/lib/eventdev/rte_event_eth_rx_adapter.h
index 41e436ec3d..f1f0d093c2 100644
--- a/lib/eventdev/rte_event_eth_rx_adapter.h
+++ b/lib/eventdev/rte_event_eth_rx_adapter.h
@@ -496,7 +496,6 @@ int rte_event_eth_rx_adapter_create_with_params(uint8_t id, uint8_t dev_id,
* - 0: Success
* - <0: Error code on failure
*/
-__rte_experimental
int
rte_event_eth_rx_adapter_create_ext_with_params(uint8_t id, uint8_t dev_id,
rte_event_eth_rx_adapter_conf_cb conf_cb,
@@ -844,7 +843,6 @@ rte_event_eth_rx_adapter_instance_get(uint16_t eth_dev_id,
* - 0: Success
* - <0: Error code on failure
*/
-__rte_experimental
int
rte_event_eth_rx_adapter_runtime_params_init(
struct rte_event_eth_rx_adapter_runtime_params *params);
@@ -867,7 +865,6 @@ rte_event_eth_rx_adapter_runtime_params_init(
* - 0: Success
* - <0: Error code on failure
*/
-__rte_experimental
int
rte_event_eth_rx_adapter_runtime_params_set(uint8_t id,
struct rte_event_eth_rx_adapter_runtime_params *params);
@@ -886,7 +883,6 @@ rte_event_eth_rx_adapter_runtime_params_set(uint8_t id,
* - 0: Success
* - <0: Error code on failure
*/
-__rte_experimental
int
rte_event_eth_rx_adapter_runtime_params_get(uint8_t id,
struct rte_event_eth_rx_adapter_runtime_params *params);
--
2.53.0
^ permalink raw reply related [flat|nested] 8+ messages in thread* [PATCH 2/6] eventdev/eth_tx: promote adapter runtime params to stable
2026-09-02 15:53 [PATCH 0/6] eventdev: promote long-standing experimental API to stable Stephen Hemminger
2026-09-02 15:53 ` [PATCH 1/6] eventdev/eth_rx: promote adapter " Stephen Hemminger
@ 2026-09-02 15:53 ` Stephen Hemminger
2026-09-02 15:53 ` [PATCH 3/6] eventdev/crypto: " Stephen Hemminger
` (3 subsequent siblings)
5 siblings, 0 replies; 8+ messages in thread
From: Stephen Hemminger @ 2026-09-02 15:53 UTC (permalink / raw)
To: dev; +Cc: Stephen Hemminger, Naga Harish K S V, Jerin Jacob
The Tx adapter runtime parameter functions were added in v23.03 and
have not changed since. With this rte_event_eth_tx_adapter.c has no
experimental symbol left.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
doc/guides/rel_notes/release_26_11.rst | 3 +++
lib/eventdev/rte_event_eth_tx_adapter.c | 6 +++---
lib/eventdev/rte_event_eth_tx_adapter.h | 3 ---
3 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/doc/guides/rel_notes/release_26_11.rst b/doc/guides/rel_notes/release_26_11.rst
index fb7d9d6448..792a5a35d0 100644
--- a/doc/guides/rel_notes/release_26_11.rst
+++ b/doc/guides/rel_notes/release_26_11.rst
@@ -101,6 +101,9 @@ API Changes
``rte_event_eth_rx_adapter_runtime_params_init``,
``rte_event_eth_rx_adapter_runtime_params_set`` and
``rte_event_eth_rx_adapter_runtime_params_get``
+ * Tx adapter: ``rte_event_eth_tx_adapter_runtime_params_init``,
+ ``rte_event_eth_tx_adapter_runtime_params_set`` and
+ ``rte_event_eth_tx_adapter_runtime_params_get``
ABI Changes
diff --git a/lib/eventdev/rte_event_eth_tx_adapter.c b/lib/eventdev/rte_event_eth_tx_adapter.c
index 91c7be55c7..03f1871157 100644
--- a/lib/eventdev/rte_event_eth_tx_adapter.c
+++ b/lib/eventdev/rte_event_eth_tx_adapter.c
@@ -1306,7 +1306,7 @@ rte_event_eth_tx_adapter_stats_reset(uint8_t id)
return ret;
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_eth_tx_adapter_runtime_params_init, 23.03)
+RTE_EXPORT_SYMBOL(rte_event_eth_tx_adapter_runtime_params_init)
int
rte_event_eth_tx_adapter_runtime_params_init(
struct rte_event_eth_tx_adapter_runtime_params *txa_params)
@@ -1333,7 +1333,7 @@ txa_caps_check(struct txa_service_data *txa)
return -ENOTSUP;
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_eth_tx_adapter_runtime_params_set, 23.03)
+RTE_EXPORT_SYMBOL(rte_event_eth_tx_adapter_runtime_params_set)
int
rte_event_eth_tx_adapter_runtime_params_set(uint8_t id,
struct rte_event_eth_tx_adapter_runtime_params *txa_params)
@@ -1365,7 +1365,7 @@ rte_event_eth_tx_adapter_runtime_params_set(uint8_t id,
return 0;
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_eth_tx_adapter_runtime_params_get, 23.03)
+RTE_EXPORT_SYMBOL(rte_event_eth_tx_adapter_runtime_params_get)
int
rte_event_eth_tx_adapter_runtime_params_get(uint8_t id,
struct rte_event_eth_tx_adapter_runtime_params *txa_params)
diff --git a/lib/eventdev/rte_event_eth_tx_adapter.h b/lib/eventdev/rte_event_eth_tx_adapter.h
index 58d77650ae..9ef728a315 100644
--- a/lib/eventdev/rte_event_eth_tx_adapter.h
+++ b/lib/eventdev/rte_event_eth_tx_adapter.h
@@ -557,7 +557,6 @@ rte_event_eth_tx_adapter_queue_stop(uint16_t eth_dev_id, uint16_t tx_queue_id);
* - 0: Success
* - <0: Error code on failure
*/
-__rte_experimental
int
rte_event_eth_tx_adapter_runtime_params_init(
struct rte_event_eth_tx_adapter_runtime_params *txa_params);
@@ -579,7 +578,6 @@ rte_event_eth_tx_adapter_runtime_params_init(
* - 0: Success
* - <0: Error code on failure
*/
-__rte_experimental
int
rte_event_eth_tx_adapter_runtime_params_set(uint8_t id,
struct rte_event_eth_tx_adapter_runtime_params *params);
@@ -597,7 +595,6 @@ rte_event_eth_tx_adapter_runtime_params_set(uint8_t id,
* - 0: Success
* - <0: Error code on failure
*/
-__rte_experimental
int
rte_event_eth_tx_adapter_runtime_params_get(uint8_t id,
struct rte_event_eth_tx_adapter_runtime_params *params);
--
2.53.0
^ permalink raw reply related [flat|nested] 8+ messages in thread* [PATCH 3/6] eventdev/crypto: promote adapter runtime params to stable
2026-09-02 15:53 [PATCH 0/6] eventdev: promote long-standing experimental API to stable Stephen Hemminger
2026-09-02 15:53 ` [PATCH 1/6] eventdev/eth_rx: promote adapter " Stephen Hemminger
2026-09-02 15:53 ` [PATCH 2/6] eventdev/eth_tx: promote adapter runtime params " Stephen Hemminger
@ 2026-09-02 15:53 ` Stephen Hemminger
2026-09-02 16:34 ` Gujjar, Abhinandan S
2026-09-02 15:53 ` [PATCH 4/6] eventdev/timer: promote remaining ticks get " Stephen Hemminger
` (2 subsequent siblings)
5 siblings, 1 reply; 8+ messages in thread
From: Stephen Hemminger @ 2026-09-02 15:53 UTC (permalink / raw)
To: dev; +Cc: Stephen Hemminger, Abhinandan Gujjar, Jerin Jacob
The crypto adapter runtime parameter functions were added in v23.03 and
have not changed since. With this rte_event_crypto_adapter.c has no
experimental symbol left.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
doc/guides/rel_notes/release_26_11.rst | 3 +++
lib/eventdev/rte_event_crypto_adapter.c | 6 +++---
lib/eventdev/rte_event_crypto_adapter.h | 3 ---
3 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/doc/guides/rel_notes/release_26_11.rst b/doc/guides/rel_notes/release_26_11.rst
index 792a5a35d0..18f0641ef2 100644
--- a/doc/guides/rel_notes/release_26_11.rst
+++ b/doc/guides/rel_notes/release_26_11.rst
@@ -104,6 +104,9 @@ API Changes
* Tx adapter: ``rte_event_eth_tx_adapter_runtime_params_init``,
``rte_event_eth_tx_adapter_runtime_params_set`` and
``rte_event_eth_tx_adapter_runtime_params_get``
+ * crypto adapter: ``rte_event_crypto_adapter_runtime_params_init``,
+ ``rte_event_crypto_adapter_runtime_params_set`` and
+ ``rte_event_crypto_adapter_runtime_params_get``
ABI Changes
diff --git a/lib/eventdev/rte_event_crypto_adapter.c b/lib/eventdev/rte_event_crypto_adapter.c
index 3f9cc7379a..6ac64cafb1 100644
--- a/lib/eventdev/rte_event_crypto_adapter.c
+++ b/lib/eventdev/rte_event_crypto_adapter.c
@@ -1430,7 +1430,7 @@ rte_event_crypto_adapter_stats_reset(uint8_t id)
return 0;
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_crypto_adapter_runtime_params_init, 23.03)
+RTE_EXPORT_SYMBOL(rte_event_crypto_adapter_runtime_params_init)
int
rte_event_crypto_adapter_runtime_params_init(
struct rte_event_crypto_adapter_runtime_params *params)
@@ -1469,7 +1469,7 @@ crypto_adapter_cap_check(struct event_crypto_adapter *adapter)
return 0;
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_crypto_adapter_runtime_params_set, 23.03)
+RTE_EXPORT_SYMBOL(rte_event_crypto_adapter_runtime_params_set)
int
rte_event_crypto_adapter_runtime_params_set(uint8_t id,
struct rte_event_crypto_adapter_runtime_params *params)
@@ -1502,7 +1502,7 @@ rte_event_crypto_adapter_runtime_params_set(uint8_t id,
return 0;
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_crypto_adapter_runtime_params_get, 23.03)
+RTE_EXPORT_SYMBOL(rte_event_crypto_adapter_runtime_params_get)
int
rte_event_crypto_adapter_runtime_params_get(uint8_t id,
struct rte_event_crypto_adapter_runtime_params *params)
diff --git a/lib/eventdev/rte_event_crypto_adapter.h b/lib/eventdev/rte_event_crypto_adapter.h
index 9a663c6227..463c90b843 100644
--- a/lib/eventdev/rte_event_crypto_adapter.h
+++ b/lib/eventdev/rte_event_crypto_adapter.h
@@ -646,7 +646,6 @@ rte_event_crypto_adapter_event_port_get(uint8_t id, uint8_t *event_port_id);
* - 0: Success
* - <0: Error code on failure
*/
-__rte_experimental
int
rte_event_crypto_adapter_runtime_params_init(
struct rte_event_crypto_adapter_runtime_params *params);
@@ -669,7 +668,6 @@ rte_event_crypto_adapter_runtime_params_init(
* - 0: Success
* - <0: Error code on failure
*/
-__rte_experimental
int
rte_event_crypto_adapter_runtime_params_set(uint8_t id,
struct rte_event_crypto_adapter_runtime_params *params);
@@ -688,7 +686,6 @@ rte_event_crypto_adapter_runtime_params_set(uint8_t id,
* - 0: Success
* - <0: Error code on failure
*/
-__rte_experimental
int
rte_event_crypto_adapter_runtime_params_get(uint8_t id,
struct rte_event_crypto_adapter_runtime_params *params);
--
2.53.0
^ permalink raw reply related [flat|nested] 8+ messages in thread* RE: [PATCH 3/6] eventdev/crypto: promote adapter runtime params to stable
2026-09-02 15:53 ` [PATCH 3/6] eventdev/crypto: " Stephen Hemminger
@ 2026-09-02 16:34 ` Gujjar, Abhinandan S
0 siblings, 0 replies; 8+ messages in thread
From: Gujjar, Abhinandan S @ 2026-09-02 16:34 UTC (permalink / raw)
To: Stephen Hemminger, dev@dpdk.org; +Cc: Jerin Jacob
> -----Original Message-----
> From: Stephen Hemminger <stephen@networkplumber.org>
> Sent: Wednesday, September 2, 2026 9:24 PM
> To: dev@dpdk.org
> Cc: Stephen Hemminger <stephen@networkplumber.org>; Gujjar,
> Abhinandan S <abhinandan.gujjar@intel.com>; Jerin Jacob
> <jerinj@marvell.com>
> Subject: [PATCH 3/6] eventdev/crypto: promote adapter runtime params to
> stable
>
> The crypto adapter runtime parameter functions were added in v23.03 and
> have not changed since. With this rte_event_crypto_adapter.c has no
> experimental symbol left.
>
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: abhinandan.gujjar@intel.com
> ---
> doc/guides/rel_notes/release_26_11.rst | 3 +++
> lib/eventdev/rte_event_crypto_adapter.c | 6 +++---
> lib/eventdev/rte_event_crypto_adapter.h | 3 ---
> 3 files changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/doc/guides/rel_notes/release_26_11.rst
> b/doc/guides/rel_notes/release_26_11.rst
> index 792a5a35d0..18f0641ef2 100644
> --- a/doc/guides/rel_notes/release_26_11.rst
> +++ b/doc/guides/rel_notes/release_26_11.rst
> @@ -104,6 +104,9 @@ API Changes
> * Tx adapter: ``rte_event_eth_tx_adapter_runtime_params_init``,
> ``rte_event_eth_tx_adapter_runtime_params_set`` and
> ``rte_event_eth_tx_adapter_runtime_params_get``
> + * crypto adapter: ``rte_event_crypto_adapter_runtime_params_init``,
> + ``rte_event_crypto_adapter_runtime_params_set`` and
> + ``rte_event_crypto_adapter_runtime_params_get``
>
>
> ABI Changes
> diff --git a/lib/eventdev/rte_event_crypto_adapter.c
> b/lib/eventdev/rte_event_crypto_adapter.c
> index 3f9cc7379a..6ac64cafb1 100644
> --- a/lib/eventdev/rte_event_crypto_adapter.c
> +++ b/lib/eventdev/rte_event_crypto_adapter.c
> @@ -1430,7 +1430,7 @@ rte_event_crypto_adapter_stats_reset(uint8_t id)
> return 0;
> }
>
> -
> RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_crypto_adapter_runtime_p
> arams_init, 23.03)
> +RTE_EXPORT_SYMBOL(rte_event_crypto_adapter_runtime_params_init)
> int
> rte_event_crypto_adapter_runtime_params_init(
> struct rte_event_crypto_adapter_runtime_params *params)
> @@ -1469,7 +1469,7 @@ crypto_adapter_cap_check(struct
> event_crypto_adapter *adapter)
> return 0;
> }
>
> -
> RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_crypto_adapter_runtime_p
> arams_set, 23.03)
> +RTE_EXPORT_SYMBOL(rte_event_crypto_adapter_runtime_params_set)
> int
> rte_event_crypto_adapter_runtime_params_set(uint8_t id,
> struct rte_event_crypto_adapter_runtime_params *params)
> @@ -1502,7 +1502,7 @@
> rte_event_crypto_adapter_runtime_params_set(uint8_t id,
> return 0;
> }
>
> -
> RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_crypto_adapter_runtime_p
> arams_get, 23.03)
> +RTE_EXPORT_SYMBOL(rte_event_crypto_adapter_runtime_params_get)
> int
> rte_event_crypto_adapter_runtime_params_get(uint8_t id,
> struct rte_event_crypto_adapter_runtime_params *params)
> diff --git a/lib/eventdev/rte_event_crypto_adapter.h
> b/lib/eventdev/rte_event_crypto_adapter.h
> index 9a663c6227..463c90b843 100644
> --- a/lib/eventdev/rte_event_crypto_adapter.h
> +++ b/lib/eventdev/rte_event_crypto_adapter.h
> @@ -646,7 +646,6 @@ rte_event_crypto_adapter_event_port_get(uint8_t id,
> uint8_t *event_port_id);
> * - 0: Success
> * - <0: Error code on failure
> */
> -__rte_experimental
> int
> rte_event_crypto_adapter_runtime_params_init(
> struct rte_event_crypto_adapter_runtime_params *params);
> @@ -669,7 +668,6 @@ rte_event_crypto_adapter_runtime_params_init(
> * - 0: Success
> * - <0: Error code on failure
> */
> -__rte_experimental
> int
> rte_event_crypto_adapter_runtime_params_set(uint8_t id,
> struct rte_event_crypto_adapter_runtime_params *params);
> @@ -688,7 +686,6 @@
> rte_event_crypto_adapter_runtime_params_set(uint8_t id,
> * - 0: Success
> * - <0: Error code on failure
> */
> -__rte_experimental
> int
> rte_event_crypto_adapter_runtime_params_get(uint8_t id,
> struct rte_event_crypto_adapter_runtime_params *params);
> --
> 2.53.0
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 4/6] eventdev/timer: promote remaining ticks get to stable
2026-09-02 15:53 [PATCH 0/6] eventdev: promote long-standing experimental API to stable Stephen Hemminger
` (2 preceding siblings ...)
2026-09-02 15:53 ` [PATCH 3/6] eventdev/crypto: " Stephen Hemminger
@ 2026-09-02 15:53 ` Stephen Hemminger
2026-09-02 15:53 ` [PATCH 5/6] eventdev: promote link profile API " Stephen Hemminger
2026-09-02 15:53 ` [PATCH 6/6] eventdev/dma: promote adapter " Stephen Hemminger
5 siblings, 0 replies; 8+ messages in thread
From: Stephen Hemminger @ 2026-09-02 15:53 UTC (permalink / raw)
To: dev; +Cc: Stephen Hemminger, Erik Gabriel Carrillo, Jerin Jacob
The rte_event_timer_remaining_ticks_get() function was added in v23.03
and has not changed since. With this rte_event_timer_adapter.c has no
experimental symbol left.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
doc/guides/rel_notes/release_26_11.rst | 1 +
lib/eventdev/rte_event_timer_adapter.c | 2 +-
lib/eventdev/rte_event_timer_adapter.h | 1 -
3 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/doc/guides/rel_notes/release_26_11.rst b/doc/guides/rel_notes/release_26_11.rst
index 18f0641ef2..01aef74d0a 100644
--- a/doc/guides/rel_notes/release_26_11.rst
+++ b/doc/guides/rel_notes/release_26_11.rst
@@ -107,6 +107,7 @@ API Changes
* crypto adapter: ``rte_event_crypto_adapter_runtime_params_init``,
``rte_event_crypto_adapter_runtime_params_set`` and
``rte_event_crypto_adapter_runtime_params_get``
+ * timer adapter: ``rte_event_timer_remaining_ticks_get``
ABI Changes
diff --git a/lib/eventdev/rte_event_timer_adapter.c b/lib/eventdev/rte_event_timer_adapter.c
index e3640a3bf8..a76d10f505 100644
--- a/lib/eventdev/rte_event_timer_adapter.c
+++ b/lib/eventdev/rte_event_timer_adapter.c
@@ -490,7 +490,7 @@ rte_event_timer_adapter_stats_reset(struct rte_event_timer_adapter *adapter)
return adapter->ops->stats_reset(adapter);
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_timer_remaining_ticks_get, 23.03)
+RTE_EXPORT_SYMBOL(rte_event_timer_remaining_ticks_get)
int
rte_event_timer_remaining_ticks_get(
const struct rte_event_timer_adapter *adapter,
diff --git a/lib/eventdev/rte_event_timer_adapter.h b/lib/eventdev/rte_event_timer_adapter.h
index 67e65ab849..215584b10b 100644
--- a/lib/eventdev/rte_event_timer_adapter.h
+++ b/lib/eventdev/rte_event_timer_adapter.h
@@ -705,7 +705,6 @@ rte_event_timer_cancel_burst(const struct rte_event_timer_adapter *adapter,
* the armed state or ticks_remaining is NULL
* - -ENOTSUP The timer adapter implementation does not support this API.
*/
-__rte_experimental
int
rte_event_timer_remaining_ticks_get(
const struct rte_event_timer_adapter *adapter,
--
2.53.0
^ permalink raw reply related [flat|nested] 8+ messages in thread* [PATCH 5/6] eventdev: promote link profile API to stable
2026-09-02 15:53 [PATCH 0/6] eventdev: promote long-standing experimental API to stable Stephen Hemminger
` (3 preceding siblings ...)
2026-09-02 15:53 ` [PATCH 4/6] eventdev/timer: promote remaining ticks get " Stephen Hemminger
@ 2026-09-02 15:53 ` Stephen Hemminger
2026-09-02 15:53 ` [PATCH 6/6] eventdev/dma: promote adapter " Stephen Hemminger
5 siblings, 0 replies; 8+ messages in thread
From: Stephen Hemminger @ 2026-09-02 15:53 UTC (permalink / raw)
To: dev; +Cc: Stephen Hemminger, Jerin Jacob
The event port link profile functions were added in v23.11 and have not
changed since, so remove the experimental tag.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
doc/guides/rel_notes/release_26_11.rst | 3 +++
lib/eventdev/rte_eventdev.c | 6 +++---
lib/eventdev/rte_eventdev.h | 3 ---
3 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/doc/guides/rel_notes/release_26_11.rst b/doc/guides/rel_notes/release_26_11.rst
index 01aef74d0a..5db51c4f6a 100644
--- a/doc/guides/rel_notes/release_26_11.rst
+++ b/doc/guides/rel_notes/release_26_11.rst
@@ -108,6 +108,9 @@ API Changes
``rte_event_crypto_adapter_runtime_params_set`` and
``rte_event_crypto_adapter_runtime_params_get``
* timer adapter: ``rte_event_timer_remaining_ticks_get``
+ * link profiles: ``rte_event_port_profile_links_set``,
+ ``rte_event_port_profile_unlink`` and
+ ``rte_event_port_profile_links_get``
ABI Changes
diff --git a/lib/eventdev/rte_eventdev.c b/lib/eventdev/rte_eventdev.c
index a6f6b6879e..6211679b29 100644
--- a/lib/eventdev/rte_eventdev.c
+++ b/lib/eventdev/rte_eventdev.c
@@ -1031,7 +1031,7 @@ rte_event_port_link(uint8_t dev_id, uint8_t port_id,
return rte_event_port_profile_links_set(dev_id, port_id, queues, priorities, nb_links, 0);
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_port_profile_links_set, 23.11)
+RTE_EXPORT_SYMBOL(rte_event_port_profile_links_set)
int
rte_event_port_profile_links_set(uint8_t dev_id, uint8_t port_id, const uint8_t queues[],
const uint8_t priorities[], uint16_t nb_links, uint8_t profile_id)
@@ -1122,7 +1122,7 @@ rte_event_port_unlink(uint8_t dev_id, uint8_t port_id,
return rte_event_port_profile_unlink(dev_id, port_id, queues, nb_unlinks, 0);
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_port_profile_unlink, 23.11)
+RTE_EXPORT_SYMBOL(rte_event_port_profile_unlink)
int
rte_event_port_profile_unlink(uint8_t dev_id, uint8_t port_id, uint8_t queues[],
uint16_t nb_unlinks, uint8_t profile_id)
@@ -1267,7 +1267,7 @@ rte_event_port_links_get(uint8_t dev_id, uint8_t port_id,
return count;
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_port_profile_links_get, 23.11)
+RTE_EXPORT_SYMBOL(rte_event_port_profile_links_get)
int
rte_event_port_profile_links_get(uint8_t dev_id, uint8_t port_id, uint8_t queues[],
uint8_t priorities[], uint8_t profile_id)
diff --git a/lib/eventdev/rte_eventdev.h b/lib/eventdev/rte_eventdev.h
index 4e13a38d89..e8d0ef59ac 100644
--- a/lib/eventdev/rte_eventdev.h
+++ b/lib/eventdev/rte_eventdev.h
@@ -2209,7 +2209,6 @@ rte_event_port_unlink(uint8_t dev_id, uint8_t port_id,
* RTE_EVENT_QUEUE_CFG_SINGLE_LINK to more than one event ports)
* (EINVAL) Invalid parameter
*/
-__rte_experimental
int
rte_event_port_profile_links_set(uint8_t dev_id, uint8_t port_id, const uint8_t queues[],
const uint8_t priorities[], uint16_t nb_links, uint8_t profile_id);
@@ -2261,7 +2260,6 @@ rte_event_port_profile_links_set(uint8_t dev_id, uint8_t port_id, const uint8_t
* the rte_errno accordingly, Possible rte_errno values are
* (EINVAL) Invalid parameter
*/
-__rte_experimental
int
rte_event_port_profile_unlink(uint8_t dev_id, uint8_t port_id, uint8_t queues[],
uint16_t nb_unlinks, uint8_t profile_id);
@@ -2351,7 +2349,6 @@ rte_event_port_links_get(uint8_t dev_id, uint8_t port_id,
* *port_id*.
* - <0 on failure.
*/
-__rte_experimental
int
rte_event_port_profile_links_get(uint8_t dev_id, uint8_t port_id, uint8_t queues[],
uint8_t priorities[], uint8_t profile_id);
--
2.53.0
^ permalink raw reply related [flat|nested] 8+ messages in thread* [PATCH 6/6] eventdev/dma: promote adapter API to stable
2026-09-02 15:53 [PATCH 0/6] eventdev: promote long-standing experimental API to stable Stephen Hemminger
` (4 preceding siblings ...)
2026-09-02 15:53 ` [PATCH 5/6] eventdev: promote link profile API " Stephen Hemminger
@ 2026-09-02 15:53 ` Stephen Hemminger
5 siblings, 0 replies; 8+ messages in thread
From: Stephen Hemminger @ 2026-09-02 15:53 UTC (permalink / raw)
To: dev; +Cc: Stephen Hemminger, Amit Prakash Shukla, Jerin Jacob
The event DMA adapter was introduced in v23.11 and its interface has not
changed since. Promote all of its functions, together with
rte_event_dma_adapter_caps_get(), and drop the experimental warning from
the file level documentation block.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
doc/guides/rel_notes/release_26_11.rst | 2 ++
lib/eventdev/rte_event_dma_adapter.c | 30 +++++++++++++-------------
lib/eventdev/rte_event_dma_adapter.h | 19 ----------------
lib/eventdev/rte_eventdev.c | 2 +-
lib/eventdev/rte_eventdev.h | 1 -
5 files changed, 18 insertions(+), 36 deletions(-)
diff --git a/doc/guides/rel_notes/release_26_11.rst b/doc/guides/rel_notes/release_26_11.rst
index 5db51c4f6a..4004f36398 100644
--- a/doc/guides/rel_notes/release_26_11.rst
+++ b/doc/guides/rel_notes/release_26_11.rst
@@ -111,6 +111,8 @@ API Changes
* link profiles: ``rte_event_port_profile_links_set``,
``rte_event_port_profile_unlink`` and
``rte_event_port_profile_links_get``
+ * DMA adapter: ``rte_event_dma_adapter_*`` and
+ ``rte_event_dma_adapter_caps_get``
ABI Changes
diff --git a/lib/eventdev/rte_event_dma_adapter.c b/lib/eventdev/rte_event_dma_adapter.c
index 909f351df9..da785483c2 100644
--- a/lib/eventdev/rte_event_dma_adapter.c
+++ b/lib/eventdev/rte_event_dma_adapter.c
@@ -341,7 +341,7 @@ edma_default_config_cb(uint8_t id, uint8_t evdev_id, struct rte_event_dma_adapte
return ret;
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_dma_adapter_create_ext, 23.11)
+RTE_EXPORT_SYMBOL(rte_event_dma_adapter_create_ext)
int
rte_event_dma_adapter_create_ext(uint8_t id, uint8_t evdev_id,
rte_event_dma_adapter_conf_cb conf_cb,
@@ -435,7 +435,7 @@ rte_event_dma_adapter_create_ext(uint8_t id, uint8_t evdev_id,
return 0;
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_dma_adapter_create, 23.11)
+RTE_EXPORT_SYMBOL(rte_event_dma_adapter_create)
int
rte_event_dma_adapter_create(uint8_t id, uint8_t evdev_id, struct rte_event_port_conf *port_config,
enum rte_event_dma_adapter_mode mode)
@@ -460,7 +460,7 @@ rte_event_dma_adapter_create(uint8_t id, uint8_t evdev_id, struct rte_event_port
return ret;
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_dma_adapter_free, 23.11)
+RTE_EXPORT_SYMBOL(rte_event_dma_adapter_free)
int
rte_event_dma_adapter_free(uint8_t id)
{
@@ -481,7 +481,7 @@ rte_event_dma_adapter_free(uint8_t id)
return 0;
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_dma_adapter_event_port_get, 23.11)
+RTE_EXPORT_SYMBOL(rte_event_dma_adapter_event_port_get)
int
rte_event_dma_adapter_event_port_get(uint8_t id, uint8_t *event_port_id)
{
@@ -988,7 +988,7 @@ edma_add_vchan(struct event_dma_adapter *adapter, int16_t dma_dev_id, uint16_t v
return 0;
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_dma_adapter_vchan_add, 23.11)
+RTE_EXPORT_SYMBOL(rte_event_dma_adapter_vchan_add)
int
rte_event_dma_adapter_vchan_add(uint8_t id, int16_t dma_dev_id, uint16_t vchan,
const struct rte_event *event)
@@ -1103,7 +1103,7 @@ rte_event_dma_adapter_vchan_add(uint8_t id, int16_t dma_dev_id, uint16_t vchan,
return 0;
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_dma_adapter_vchan_del, 23.11)
+RTE_EXPORT_SYMBOL(rte_event_dma_adapter_vchan_del)
int
rte_event_dma_adapter_vchan_del(uint8_t id, int16_t dma_dev_id, uint16_t vchan)
{
@@ -1170,7 +1170,7 @@ rte_event_dma_adapter_vchan_del(uint8_t id, int16_t dma_dev_id, uint16_t vchan)
return ret;
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_dma_adapter_service_id_get, 23.11)
+RTE_EXPORT_SYMBOL(rte_event_dma_adapter_service_id_get)
int
rte_event_dma_adapter_service_id_get(uint8_t id, uint32_t *service_id)
{
@@ -1230,7 +1230,7 @@ edma_adapter_ctrl(uint8_t id, int start)
return 0;
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_dma_adapter_start, 23.11)
+RTE_EXPORT_SYMBOL(rte_event_dma_adapter_start)
int
rte_event_dma_adapter_start(uint8_t id)
{
@@ -1245,7 +1245,7 @@ rte_event_dma_adapter_start(uint8_t id)
return edma_adapter_ctrl(id, 1);
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_dma_adapter_stop, 23.11)
+RTE_EXPORT_SYMBOL(rte_event_dma_adapter_stop)
int
rte_event_dma_adapter_stop(uint8_t id)
{
@@ -1254,7 +1254,7 @@ rte_event_dma_adapter_stop(uint8_t id)
#define DEFAULT_MAX_NB 128
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_dma_adapter_runtime_params_init, 23.11)
+RTE_EXPORT_SYMBOL(rte_event_dma_adapter_runtime_params_init)
int
rte_event_dma_adapter_runtime_params_init(struct rte_event_dma_adapter_runtime_params *params)
{
@@ -1290,7 +1290,7 @@ dma_adapter_cap_check(struct event_dma_adapter *adapter)
return 0;
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_dma_adapter_runtime_params_set, 23.11)
+RTE_EXPORT_SYMBOL(rte_event_dma_adapter_runtime_params_set)
int
rte_event_dma_adapter_runtime_params_set(uint8_t id,
struct rte_event_dma_adapter_runtime_params *params)
@@ -1320,7 +1320,7 @@ rte_event_dma_adapter_runtime_params_set(uint8_t id,
return 0;
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_dma_adapter_runtime_params_get, 23.11)
+RTE_EXPORT_SYMBOL(rte_event_dma_adapter_runtime_params_get)
int
rte_event_dma_adapter_runtime_params_get(uint8_t id,
struct rte_event_dma_adapter_runtime_params *params)
@@ -1348,7 +1348,7 @@ rte_event_dma_adapter_runtime_params_get(uint8_t id,
return 0;
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_dma_adapter_stats_get, 23.11)
+RTE_EXPORT_SYMBOL(rte_event_dma_adapter_stats_get)
int
rte_event_dma_adapter_stats_get(uint8_t id, struct rte_event_dma_adapter_stats *stats)
{
@@ -1394,7 +1394,7 @@ rte_event_dma_adapter_stats_get(uint8_t id, struct rte_event_dma_adapter_stats *
return 0;
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_dma_adapter_stats_reset, 23.11)
+RTE_EXPORT_SYMBOL(rte_event_dma_adapter_stats_reset)
int
rte_event_dma_adapter_stats_reset(uint8_t id)
{
@@ -1427,7 +1427,7 @@ rte_event_dma_adapter_stats_reset(uint8_t id)
return 0;
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_dma_adapter_enqueue, 23.11)
+RTE_EXPORT_SYMBOL(rte_event_dma_adapter_enqueue)
uint16_t
rte_event_dma_adapter_enqueue(uint8_t dev_id, uint8_t port_id, struct rte_event ev[],
uint16_t nb_events)
diff --git a/lib/eventdev/rte_event_dma_adapter.h b/lib/eventdev/rte_event_dma_adapter.h
index 6a32f84753..5c37f55d46 100644
--- a/lib/eventdev/rte_event_dma_adapter.h
+++ b/lib/eventdev/rte_event_dma_adapter.h
@@ -8,10 +8,6 @@
/**
* @file rte_event_dma_adapter.h
*
- * @warning
- * @b EXPERIMENTAL:
- * All functions in this file may be changed or removed without prior notice.
- *
* DMA Event Adapter API.
*
* Eventdev library provides adapters to bridge between various components for providing new
@@ -282,7 +278,6 @@ struct rte_event_dma_adapter_stats {
* - 0: Success
* - <0: Error code on failure
*/
-__rte_experimental
int rte_event_dma_adapter_create_ext(uint8_t id, uint8_t evdev_id,
rte_event_dma_adapter_conf_cb conf_cb,
enum rte_event_dma_adapter_mode mode, void *conf_arg);
@@ -308,7 +303,6 @@ int rte_event_dma_adapter_create_ext(uint8_t id, uint8_t evdev_id,
* - 0: Success
* - <0: Error code on failure
*/
-__rte_experimental
int rte_event_dma_adapter_create(uint8_t id, uint8_t evdev_id,
struct rte_event_port_conf *port_config,
enum rte_event_dma_adapter_mode mode);
@@ -323,7 +317,6 @@ int rte_event_dma_adapter_create(uint8_t id, uint8_t evdev_id,
* - <0: Error code on failure, If the adapter still has queue pairs added to it, the function
* returns -EBUSY.
*/
-__rte_experimental
int rte_event_dma_adapter_free(uint8_t id);
/**
@@ -340,7 +333,6 @@ int rte_event_dma_adapter_free(uint8_t id);
* - 0: Success
* - <0: Error code on failure.
*/
-__rte_experimental
int rte_event_dma_adapter_event_port_get(uint8_t id, uint8_t *event_port_id);
/**
@@ -362,7 +354,6 @@ int rte_event_dma_adapter_event_port_get(uint8_t id, uint8_t *event_port_id);
* - 0: Success, vchan added correctly.
* - <0: Error code on failure.
*/
-__rte_experimental
int rte_event_dma_adapter_vchan_add(uint8_t id, int16_t dmadev_id, uint16_t vchan,
const struct rte_event *event);
@@ -380,7 +371,6 @@ int rte_event_dma_adapter_vchan_add(uint8_t id, int16_t dmadev_id, uint16_t vcha
* - 0: Success, vchan deleted successfully.
* - <0: Error code on failure.
*/
-__rte_experimental
int rte_event_dma_adapter_vchan_del(uint8_t id, int16_t dmadev_id, uint16_t vchan);
/**
@@ -397,7 +387,6 @@ int rte_event_dma_adapter_vchan_del(uint8_t id, int16_t dmadev_id, uint16_t vcha
* - <0: Error code on failure, if the adapter doesn't use a rte_service function, this function
* returns -ESRCH.
*/
-__rte_experimental
int rte_event_dma_adapter_service_id_get(uint8_t id, uint32_t *service_id);
/**
@@ -413,7 +402,6 @@ int rte_event_dma_adapter_service_id_get(uint8_t id, uint32_t *service_id);
* @note The eventdev and dmadev to which the event_dma_adapter is connected should be started
* before calling rte_event_dma_adapter_start().
*/
-__rte_experimental
int rte_event_dma_adapter_start(uint8_t id);
/**
@@ -426,7 +414,6 @@ int rte_event_dma_adapter_start(uint8_t id);
* - 0: Success, adapter stopped successfully.
* - <0: Error code on failure.
*/
-__rte_experimental
int rte_event_dma_adapter_stop(uint8_t id);
/**
@@ -439,7 +426,6 @@ int rte_event_dma_adapter_stop(uint8_t id);
* - 0: Success
* - <0: Error code on failure
*/
-__rte_experimental
int rte_event_dma_adapter_runtime_params_init(struct rte_event_dma_adapter_runtime_params *params);
/**
@@ -459,7 +445,6 @@ int rte_event_dma_adapter_runtime_params_init(struct rte_event_dma_adapter_runti
* - 0: Success
* - <0: Error code on failure
*/
-__rte_experimental
int rte_event_dma_adapter_runtime_params_set(uint8_t id,
struct rte_event_dma_adapter_runtime_params *params);
@@ -477,7 +462,6 @@ int rte_event_dma_adapter_runtime_params_set(uint8_t id,
* - 0: Success
* - <0: Error code on failure
*/
-__rte_experimental
int rte_event_dma_adapter_runtime_params_get(uint8_t id,
struct rte_event_dma_adapter_runtime_params *params);
@@ -493,7 +477,6 @@ int rte_event_dma_adapter_runtime_params_get(uint8_t id,
* - 0: Success, retrieved successfully.
* - <0: Error code on failure.
*/
-__rte_experimental
int rte_event_dma_adapter_stats_get(uint8_t id, struct rte_event_dma_adapter_stats *stats);
/**
@@ -506,7 +489,6 @@ int rte_event_dma_adapter_stats_get(uint8_t id, struct rte_event_dma_adapter_sta
* - 0: Success, statistics reset successfully.
* - <0: Error code on failure.
*/
-__rte_experimental
int rte_event_dma_adapter_stats_reset(uint8_t id);
/**
@@ -543,7 +525,6 @@ int rte_event_dma_adapter_stats_reset(uint8_t id);
* - ENOSPC: The event port was backpressured and unable to enqueue one or more events. This
* error code is only applicable to closed systems.
*/
-__rte_experimental
uint16_t rte_event_dma_adapter_enqueue(uint8_t evdev_id, uint8_t port_id, struct rte_event ev[],
uint16_t nb_events);
diff --git a/lib/eventdev/rte_eventdev.c b/lib/eventdev/rte_eventdev.c
index 6211679b29..53d17d7a00 100644
--- a/lib/eventdev/rte_eventdev.c
+++ b/lib/eventdev/rte_eventdev.c
@@ -234,7 +234,7 @@ rte_event_eth_tx_adapter_caps_get(uint8_t dev_id, uint16_t eth_port_id,
: 0;
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_event_dma_adapter_caps_get, 23.11)
+RTE_EXPORT_SYMBOL(rte_event_dma_adapter_caps_get)
int
rte_event_dma_adapter_caps_get(uint8_t dev_id, uint8_t dma_dev_id, uint32_t *caps)
{
diff --git a/lib/eventdev/rte_eventdev.h b/lib/eventdev/rte_eventdev.h
index e8d0ef59ac..38f0a43f38 100644
--- a/lib/eventdev/rte_eventdev.h
+++ b/lib/eventdev/rte_eventdev.h
@@ -1952,7 +1952,6 @@ rte_event_crypto_adapter_caps_get(uint8_t dev_id, uint8_t cdev_id,
* dmadev device.
* - <0: Error code returned by the driver function.
*/
-__rte_experimental
int
rte_event_dma_adapter_caps_get(uint8_t dev_id, uint8_t dmadev_id, uint32_t *caps);
--
2.53.0
^ permalink raw reply related [flat|nested] 8+ messages in thread