From: Kevin Traynor <ktraynor@redhat.com>
To: Thomas Monjalon <thomas@monjalon.net>, dev@dpdk.org
Cc: ophirmu@mellanox.com, ferruh.yigit@intel.com,
arybchenko@solarflare.com, ian.stokes@intel.com
Subject: Re: [dpdk-dev] [PATCH 2/2] ethdev: remove experimental tag for iterator API
Date: Mon, 5 Nov 2018 12:22:56 +0000 [thread overview]
Message-ID: <1ae2efcc-0443-1e29-b905-1854959b71fb@redhat.com> (raw)
In-Reply-To: <20181101144633.13429-3-thomas@monjalon.net>
On 11/01/2018 02:46 PM, Thomas Monjalon wrote:
> 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>
Acked-by: Kevin Traynor <ktraynor@redhat.com>
Tested-by: Kevin Traynor <ktraynor@redhat.com>
> ---
> 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;
>
next prev parent reply other threads:[~2018-11-05 12:23 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 ` [dpdk-dev] [PATCH 2/2] ethdev: remove experimental tag for iterator API Thomas Monjalon
2018-11-05 12:22 ` Kevin Traynor [this message]
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=1ae2efcc-0443-1e29-b905-1854959b71fb@redhat.com \
--to=ktraynor@redhat.com \
--cc=arybchenko@solarflare.com \
--cc=dev@dpdk.org \
--cc=ferruh.yigit@intel.com \
--cc=ian.stokes@intel.com \
--cc=ophirmu@mellanox.com \
--cc=thomas@monjalon.net \
/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).