DPDK patches and discussions
 help / color / mirror / Atom feed
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;
> 

  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).