Skip to contentSkip to conversation

eventdev: promote long-standing experimental API to stable

PATCH In review Stephen Hemminger 3 participants 9 messages Sep 2 – Sep 15

lore
Share & tools
lore
#0 lore raw

cover eventdev: promote long-standing experimental API to stable

The eventdev library still carries a number of experimental symbols that have been unchanged for several releases. Per the ABI policy, they are overdue for being promoted to stable.

This series removes the experimental tag from the eventdev API that was added in v23.03 and v23.11 and has not changed since:

- Rx adapter runtime parameters and create_ext_with_params
- Tx adapter runtime parameters
- crypto adapter runtime parameters
- timer adapter remaining ticks get
- event port link profiles
- the DMA adapter API

With these patches the Tx, crypto and timer adapter source files have no experimental symbols left at all.

Deliberately left experimental:

- rte_event_eth_rx_adapter_queues_add(), added in v25.03, is too recent
- the vector adapter API in rte_event_vector_adapter.h, also recent
- the remaining experimental symbols in rte_eventdev.h

No functional change: this only swaps RTE_EXPORT_EXPERIMENTAL_SYMBOL for RTE_EXPORT_SYMBOL, drops __rte_experimental from the headers, and updates the release notes. Since these symbols move out of the EXPERIMENTAL section into the stable ABI, this must go into a major ABI release.

Stephen Hemminger (6):
eventdev/eth_rx: promote adapter API to stable eventdev/eth_tx: promote adapter runtime params to stable eventdev/crypto: promote adapter runtime params to stable eventdev/timer: promote remaining ticks get to stable
eventdev: promote link profile API to stable eventdev/dma: promote adapter API to stable

 doc/guides/rel_notes/release_26_11.rst  | 19 ++++++++++++++++
 lib/eventdev/rte_event_crypto_adapter.c |  6 ++---
 lib/eventdev/rte_event_crypto_adapter.h |  3 ---
 lib/eventdev/rte_event_dma_adapter.c    | 30 ++++++++++++-------------
 lib/eventdev/rte_event_dma_adapter.h    | 19 ----------------
 lib/eventdev/rte_event_eth_rx_adapter.c |  8 +++----
 lib/eventdev/rte_event_eth_rx_adapter.h |  4 ----
 lib/eventdev/rte_event_eth_tx_adapter.c |  6 ++---
 lib/eventdev/rte_event_eth_tx_adapter.h |  3 ---
 lib/eventdev/rte_event_timer_adapter.c  |  2 +-
 lib/eventdev/rte_event_timer_adapter.h  |  1 -
 lib/eventdev/rte_eventdev.c             |  8 +++----
 lib/eventdev/rte_eventdev.h             |  4 ----
 13 files changed, 49 insertions(+), 64 deletions(-)
Signature · 1 line
2.53.0
#1 lore raw

PATCH 1/6 eventdev/eth_rx: promote adapter API to stable

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.

---
 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(-)
doc/guides/rel_notes/release_26_11.rst +7 -0
index 87c7e81bde..fb7d9d6448 100644
@@ -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
 -----------
lib/eventdev/rte_event_eth_rx_adapter.c +4 -4
index 635bd6014b..26c0a26db1 100644
@@ -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)
lib/eventdev/rte_event_eth_rx_adapter.h +0 -4
index 41e436ec3d..f1f0d093c2 100644
@@ -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);
Signature · 1 line
2.53.0
#2 lore raw

PATCH 2/6 eventdev/eth_tx: promote adapter runtime params to stable

In reply to Stephen Hemminger

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.

---
 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(-)
doc/guides/rel_notes/release_26_11.rst +3 -0
index fb7d9d6448..792a5a35d0 100644
@@ -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
lib/eventdev/rte_event_eth_tx_adapter.c +3 -3
index 91c7be55c7..03f1871157 100644
@@ -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)
lib/eventdev/rte_event_eth_tx_adapter.h +0 -3
index 58d77650ae..9ef728a315 100644
@@ -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);
Signature · 1 line
2.53.0
#3 lore raw

PATCH 3/6 eventdev/crypto: promote adapter runtime params to stable

In reply to Stephen Hemminger

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.

---
 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(-)
doc/guides/rel_notes/release_26_11.rst +3 -0
index 792a5a35d0..18f0641ef2 100644
@@ -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
lib/eventdev/rte_event_crypto_adapter.c +3 -3
index 3f9cc7379a..6ac64cafb1 100644
@@ -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)
lib/eventdev/rte_event_crypto_adapter.h +0 -3
index 9a663c6227..463c90b843 100644
@@ -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);
Signature · 1 line
2.53.0
Acked-by on v1 3/6
#4 lore raw

RE: [PATCH 3/6] eventdev/crypto: promote adapter runtime params to stable

Quoted 12 lines

-----Original Message-----
From: Stephen Hemminger <[email protected]>
Sent: Wednesday, September 2, 2026 9:24 PM
To: [email protected]
Cc: Stephen Hemminger <[email protected]>; Gujjar, Abhinandan S <[email protected]>; Jerin Jacob <[email protected]>
Subject: [PATCH 3/6] eventdev/crypto: promote adapter runtime params to stable

Quoted 5 lines

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.

Quoted 94 lines
---
 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(-)
doc/guides/rel_notes/release_26_11.rst +3 -0
index 792a5a35d0..18f0641ef2 100644
@@ -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
lib/eventdev/rte_event_crypto_adapter.c +0 -1
index 3f9cc7379a..6ac64cafb1 100644
@@ -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)

lib/eventdev/rte_event_crypto_adapter.c +1 -1
+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)

lib/eventdev/rte_event_crypto_adapter.c +1 -1
+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)

lib/eventdev/rte_event_crypto_adapter.c +1 -0
+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)
lib/eventdev/rte_event_crypto_adapter.h +0 -1
index 9a663c6227..463c90b843 100644
@@ -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(
lib/eventdev/rte_event_crypto_adapter.h +0 -2
 		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

#5 lore raw

PATCH 4/6 eventdev/timer: promote remaining ticks get to stable

In reply to Stephen Hemminger

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.

---
 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(-)
doc/guides/rel_notes/release_26_11.rst +1 -0
index 18f0641ef2..01aef74d0a 100644
@@ -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
lib/eventdev/rte_event_timer_adapter.c +1 -1
index e3640a3bf8..a76d10f505 100644
@@ -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,
lib/eventdev/rte_event_timer_adapter.h +0 -1
index 67e65ab849..215584b10b 100644
@@ -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,
Signature · 1 line
2.53.0
#6 lore raw

PATCH 5/6 eventdev: promote link profile API to stable

In reply to Stephen Hemminger

The event port link profile functions were added in v23.11 and have not changed since, so remove the experimental tag.

---
 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(-)
doc/guides/rel_notes/release_26_11.rst +3 -0
index 01aef74d0a..5db51c4f6a 100644
@@ -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
lib/eventdev/rte_eventdev.c +3 -3
index a6f6b6879e..6211679b29 100644
@@ -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)
lib/eventdev/rte_eventdev.h +0 -3
index 4e13a38d89..e8d0ef59ac 100644
@@ -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);
Signature · 1 line
2.53.0
#7 lore raw

PATCH 6/6 eventdev/dma: promote adapter API to stable

In reply to Stephen Hemminger

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.

---
 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(-)
doc/guides/rel_notes/release_26_11.rst +2 -0
index 5db51c4f6a..4004f36398 100644
@@ -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
lib/eventdev/rte_event_dma_adapter.c +15 -15
index 909f351df9..da785483c2 100644
@@ -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)
lib/eventdev/rte_event_dma_adapter.h +0 -19
index 6a32f84753..5c37f55d46 100644
@@ -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);
 
lib/eventdev/rte_eventdev.c +1 -1
index 6211679b29..53d17d7a00 100644
@@ -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)
 {
lib/eventdev/rte_eventdev.h +0 -1
index e8d0ef59ac..38f0a43f38 100644
@@ -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);
 
Signature · 1 line
2.53.0
#8 lore raw

Re: [PATCH 6/6] eventdev/dma: promote adapter API to stable

Quoted 20 lines · Stephen Hemminger

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.

---
 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(-)
doc/guides/rel_notes/release_26_11.rst +0 -0
index 5db51c4f6a..4004f36398 100644

doc/guides/rel_notes/release_26_11.rst API Changes · line 115

Quoted 5 lines
doc/guides/rel_notes/release_26_11.rst +2 -0
@@ -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``

rte_event_dma_adapter_* account rte_event_dma_adapter_caps_get`. so remove this API.

Series applied to dpdk-next-eventdev/for-main. Thanks.