DPDK patches and discussions
 help / color / mirror / Atom feed
From: Thomas Monjalon <thomas@monjalon.net>
To: dev@dpdk.org
Cc: ophirmu@mellanox.com, ferruh.yigit@intel.com,
	arybchenko@solarflare.com, ktraynor@redhat.com,
	ian.stokes@intel.com
Subject: [dpdk-dev] [PATCH 2/2] ethdev: remove experimental tag for iterator API
Date: Thu,  1 Nov 2018 15:46:33 +0100	[thread overview]
Message-ID: <20181101144633.13429-3-thomas@monjalon.net> (raw)
In-Reply-To: <20181101144633.13429-1-thomas@monjalon.net>

After removing the function rte_eth_dev_attach(),
there are two replacement solutions possible:
one using probe event notification, and one using a new iterator.
So the application can get the new probed ports either asynchronously
or synchronously.

The iterator API is new in DPDK 18.11 so they got the experimental
tag by policy. It causes an issue for strict applications which do
not use experimental functions, and want to use the synchronous method.

The replacement for removed API should not be experimental.
That's why the experimental status of the ethdev iterator is removed.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
 lib/librte_ethdev/rte_ethdev.c           |  6 +++---
 lib/librte_ethdev/rte_ethdev.h           | 12 ------------
 lib/librte_ethdev/rte_ethdev_version.map |  6 +++---
 3 files changed, 6 insertions(+), 18 deletions(-)

diff --git a/lib/librte_ethdev/rte_ethdev.c b/lib/librte_ethdev/rte_ethdev.c
index 9d3481389..d59154c69 100644
--- a/lib/librte_ethdev/rte_ethdev.c
+++ b/lib/librte_ethdev/rte_ethdev.c
@@ -187,7 +187,7 @@ enum {
 	STAT_QMAP_RX
 };
 
-int __rte_experimental
+int
 rte_eth_iterator_init(struct rte_dev_iterator *iter, const char *devargs_str)
 {
 	int ret;
@@ -288,7 +288,7 @@ rte_eth_iterator_init(struct rte_dev_iterator *iter, const char *devargs_str)
 	return ret;
 }
 
-uint16_t __rte_experimental
+uint16_t
 rte_eth_iterator_next(struct rte_dev_iterator *iter)
 {
 	if (iter->cls == NULL) /* invalid ethdev iterator */
@@ -317,7 +317,7 @@ rte_eth_iterator_next(struct rte_dev_iterator *iter)
 	return RTE_MAX_ETHPORTS;
 }
 
-void __rte_experimental
+void
 rte_eth_iterator_cleanup(struct rte_dev_iterator *iter)
 {
 	if (iter->bus_str == NULL)
diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h
index 769a69430..8a92d91e3 100644
--- a/lib/librte_ethdev/rte_ethdev.h
+++ b/lib/librte_ethdev/rte_ethdev.h
@@ -167,9 +167,6 @@ extern int rte_eth_dev_logtype;
 struct rte_mbuf;
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
  * Initializes a device iterator.
  *
  * This iterator allows accessing a list of devices matching some devargs.
@@ -185,13 +182,9 @@ struct rte_mbuf;
  * @return
  *   0 on successful initialization, negative otherwise.
  */
-__rte_experimental
 int rte_eth_iterator_init(struct rte_dev_iterator *iter, const char *devargs);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
  * Iterates on devices with devargs filter.
  * The ownership is not checked.
  *
@@ -205,13 +198,9 @@ int rte_eth_iterator_init(struct rte_dev_iterator *iter, const char *devargs);
  * @return
  *   A port id if found, RTE_MAX_ETHPORTS otherwise.
  */
-__rte_experimental
 uint16_t rte_eth_iterator_next(struct rte_dev_iterator *iter);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
  * Free some allocated fields of the iterator.
  *
  * This function is automatically called by rte_eth_iterator_next()
@@ -223,7 +212,6 @@ uint16_t rte_eth_iterator_next(struct rte_dev_iterator *iter);
  *   Device iterator handle initialized by rte_eth_iterator_init().
  *   The fields bus_str and cls_str are freed if needed.
  */
-__rte_experimental
 void rte_eth_iterator_cleanup(struct rte_dev_iterator *iter);
 
 /**
diff --git a/lib/librte_ethdev/rte_ethdev_version.map b/lib/librte_ethdev/rte_ethdev_version.map
index 3560c288b..92ac3de25 100644
--- a/lib/librte_ethdev/rte_ethdev_version.map
+++ b/lib/librte_ethdev/rte_ethdev_version.map
@@ -223,6 +223,9 @@ DPDK_18.11 {
 
 	rte_eth_dev_rx_offload_name;
 	rte_eth_dev_tx_offload_name;
+	rte_eth_iterator_cleanup;
+	rte_eth_iterator_init;
+	rte_eth_iterator_next;
 
 } DPDK_18.08;
 
@@ -242,9 +245,6 @@ EXPERIMENTAL {
 	rte_eth_dev_owner_set;
 	rte_eth_dev_owner_unset;
 	rte_eth_dev_rx_intr_ctl_q_get_fd;
-	rte_eth_iterator_cleanup;
-	rte_eth_iterator_init;
-	rte_eth_iterator_next;
 	rte_eth_switch_domain_alloc;
 	rte_eth_switch_domain_free;
 	rte_flow_conv;
-- 
2.19.0

  parent reply	other threads:[~2018-11-01 14:46 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-01 14:46 [dpdk-dev] [PATCH 0/2] remove experimental tag for hotplug API Thomas Monjalon
2018-11-01 14:46 ` [dpdk-dev] [PATCH 1/2] eal: remove experimental tag for probe/remove Thomas Monjalon
2018-11-05 12:19   ` Kevin Traynor
2018-11-05 13:13     ` Thomas Monjalon
2018-11-05 23:08       ` Thomas Monjalon
2018-11-01 14:46 ` Thomas Monjalon [this message]
2018-11-05 12:22   ` [dpdk-dev] [PATCH 2/2] ethdev: remove experimental tag for iterator API Kevin Traynor
2018-11-05 11:34 ` [dpdk-dev] [PATCH 0/2] remove experimental tag for hotplug API Thomas Monjalon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20181101144633.13429-3-thomas@monjalon.net \
    --to=thomas@monjalon.net \
    --cc=arybchenko@solarflare.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    --cc=ian.stokes@intel.com \
    --cc=ktraynor@redhat.com \
    --cc=ophirmu@mellanox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).