DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH 0/2] remove experimental tag for hotplug API
@ 2018-11-01 14:46 Thomas Monjalon
  2018-11-01 14:46 ` [dpdk-dev] [PATCH 1/2] eal: remove experimental tag for probe/remove Thomas Monjalon
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Thomas Monjalon @ 2018-11-01 14:46 UTC (permalink / raw)
  To: dev; +Cc: ophirmu, ferruh.yigit, arybchenko, ktraynor, ian.stokes

There are new functions in 18.11 which are fixing some hotplug issues.
OVS would like to use them but do not want to allow experimental
functions.
As these are major functions, fixing some issues, and replacing
a deprecated function, an exception should be done.

Thomas Monjalon (2):
  eal: remove experimental tag for probe/remove
  ethdev: remove experimental tag for iterator API

 lib/librte_eal/common/eal_common_dev.c   |  4 ++--
 lib/librte_eal/common/include/rte_dev.h  | 10 ++--------
 lib/librte_eal/rte_eal_version.map       |  4 ++--
 lib/librte_ethdev/rte_ethdev.c           |  6 +++---
 lib/librte_ethdev/rte_ethdev.h           | 12 ------------
 lib/librte_ethdev/rte_ethdev_version.map |  6 +++---
 6 files changed, 12 insertions(+), 30 deletions(-)

-- 
2.19.0

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [dpdk-dev] [PATCH 1/2] eal: remove experimental tag for probe/remove
  2018-11-01 14:46 [dpdk-dev] [PATCH 0/2] remove experimental tag for hotplug API Thomas Monjalon
@ 2018-11-01 14:46 ` Thomas Monjalon
  2018-11-05 12:19   ` Kevin Traynor
  2018-11-01 14:46 ` [dpdk-dev] [PATCH 2/2] ethdev: remove experimental tag for iterator API Thomas Monjalon
  2018-11-05 11:34 ` [dpdk-dev] [PATCH 0/2] remove experimental tag for hotplug API Thomas Monjalon
  2 siblings, 1 reply; 8+ messages in thread
From: Thomas Monjalon @ 2018-11-01 14:46 UTC (permalink / raw)
  To: dev; +Cc: ophirmu, ferruh.yigit, arybchenko, ktraynor, ian.stokes

The functions rte_dev_probe() and rte_dev_remove() are new
in DPDK 18.11 so they got the experimental tag by policy.
However they are too much basic functions for being skipped
by strict applications which do not use experimental functions.

The alternative is to use rte_eal_hotplug_add() and
rte_eal_hotplug_remove(), but their API requires the application
to parse the devargs string in order to provide bus name,
device name and driver arguments.

The new function rte_dev_probe() is really simpler to use and
more flexible by accepting any devargs string.
Let's encourage applications to use it.

The old functions rte_eal_hotplug_* may be deprecated later.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
 lib/librte_eal/common/eal_common_dev.c  |  4 ++--
 lib/librte_eal/common/include/rte_dev.h | 10 ++--------
 lib/librte_eal/rte_eal_version.map      |  4 ++--
 3 files changed, 6 insertions(+), 12 deletions(-)

diff --git a/lib/librte_eal/common/eal_common_dev.c b/lib/librte_eal/common/eal_common_dev.c
index 62e9ed477..5759ec2d8 100644
--- a/lib/librte_eal/common/eal_common_dev.c
+++ b/lib/librte_eal/common/eal_common_dev.c
@@ -186,7 +186,7 @@ local_dev_probe(const char *devargs, struct rte_device **new_dev)
 	return ret;
 }
 
-int __rte_experimental
+int
 rte_dev_probe(const char *devargs)
 {
 	struct eal_dev_mp_req req;
@@ -322,7 +322,7 @@ local_dev_remove(struct rte_device *dev)
 	return 0;
 }
 
-int __rte_experimental
+int
 rte_dev_remove(struct rte_device *dev)
 {
 	struct eal_dev_mp_req req;
diff --git a/lib/librte_eal/common/include/rte_dev.h b/lib/librte_eal/common/include/rte_dev.h
index cd6c187cc..a9724dc91 100644
--- a/lib/librte_eal/common/include/rte_dev.h
+++ b/lib/librte_eal/common/include/rte_dev.h
@@ -196,9 +196,6 @@ int rte_eal_hotplug_add(const char *busname, const char *devname,
 			const char *drvargs);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Add matching devices.
  *
  * In multi-process, it will request other processes to add the same device.
@@ -209,7 +206,7 @@ int rte_eal_hotplug_add(const char *busname, const char *devname,
  * @return
  *   0 on success, negative on error.
  */
-int __rte_experimental rte_dev_probe(const char *devargs);
+int rte_dev_probe(const char *devargs);
 
 /**
  * Hotplug remove a given device from a specific bus.
@@ -227,9 +224,6 @@ int __rte_experimental rte_dev_probe(const char *devargs);
 int rte_eal_hotplug_remove(const char *busname, const char *devname);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Remove one device.
  *
  * In multi-process, it will request other processes to remove the same device.
@@ -240,7 +234,7 @@ int rte_eal_hotplug_remove(const char *busname, const char *devname);
  * @return
  *   0 on success, negative on error.
  */
-int __rte_experimental rte_dev_remove(struct rte_device *dev);
+int rte_dev_remove(struct rte_device *dev);
 
 /**
  * Device comparison function.
diff --git a/lib/librte_eal/rte_eal_version.map b/lib/librte_eal/rte_eal_version.map
index 04f624246..be4976e3d 100644
--- a/lib/librte_eal/rte_eal_version.map
+++ b/lib/librte_eal/rte_eal_version.map
@@ -262,6 +262,8 @@ DPDK_18.11 {
 	rte_eal_get_runtime_dir;
 	rte_eal_hotplug_add;
 	rte_eal_hotplug_remove;
+	rte_dev_probe;
+	rte_dev_remove;
 	rte_strscpy;
 
 } DPDK_18.08;
@@ -285,8 +287,6 @@ EXPERIMENTAL {
 	rte_dev_is_probed;
 	rte_dev_iterator_init;
 	rte_dev_iterator_next;
-	rte_dev_probe;
-	rte_dev_remove;
 	rte_devargs_add;
 	rte_devargs_dump;
 	rte_devargs_insert;
-- 
2.19.0

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [dpdk-dev] [PATCH 2/2] ethdev: remove experimental tag for iterator API
  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-01 14:46 ` Thomas Monjalon
  2018-11-05 12:22   ` Kevin Traynor
  2018-11-05 11:34 ` [dpdk-dev] [PATCH 0/2] remove experimental tag for hotplug API Thomas Monjalon
  2 siblings, 1 reply; 8+ messages in thread
From: Thomas Monjalon @ 2018-11-01 14:46 UTC (permalink / raw)
  To: dev; +Cc: ophirmu, ferruh.yigit, arybchenko, ktraynor, ian.stokes

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

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [dpdk-dev] [PATCH 0/2] remove experimental tag for hotplug API
  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-01 14:46 ` [dpdk-dev] [PATCH 2/2] ethdev: remove experimental tag for iterator API Thomas Monjalon
@ 2018-11-05 11:34 ` Thomas Monjalon
  2 siblings, 0 replies; 8+ messages in thread
From: Thomas Monjalon @ 2018-11-05 11:34 UTC (permalink / raw)
  To: dev
  Cc: ophirmu, ferruh.yigit, arybchenko, ktraynor, ian.stokes,
	qi.z.zhang, jeff.guo, bruce.richardson

Any comment?

01/11/2018 15:46, Thomas Monjalon:
> There are new functions in 18.11 which are fixing some hotplug issues.
> OVS would like to use them but do not want to allow experimental
> functions.
> As these are major functions, fixing some issues, and replacing
> a deprecated function, an exception should be done.
> 
> Thomas Monjalon (2):
>   eal: remove experimental tag for probe/remove
>   ethdev: remove experimental tag for iterator API

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [dpdk-dev] [PATCH 1/2] eal: remove experimental tag for probe/remove
  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
  0 siblings, 1 reply; 8+ messages in thread
From: Kevin Traynor @ 2018-11-05 12:19 UTC (permalink / raw)
  To: Thomas Monjalon, dev; +Cc: ophirmu, ferruh.yigit, arybchenko, ian.stokes

On 11/01/2018 02:46 PM, Thomas Monjalon wrote:
> The functions rte_dev_probe() and rte_dev_remove() are new
> in DPDK 18.11 so they got the experimental tag by policy.
> However they are too much basic functions for being skipped
> by strict applications which do not use experimental functions.
> 
> The alternative is to use rte_eal_hotplug_add() and
> rte_eal_hotplug_remove(), but their API requires the application
> to parse the devargs string in order to provide bus name,
> device name and driver arguments.
> 
> The new function rte_dev_probe() is really simpler to use and
> more flexible by accepting any devargs string.
> Let's encourage applications to use it.
> 
> The old functions rte_eal_hotplug_* may be deprecated later.
> 
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>

one minor comment below, but it's no big deal..

Acked-by: Kevin Traynor <ktraynor@redhat.com>
Tested-by: Kevin Traynor <ktraynor@redhat.com>

> ---
>  lib/librte_eal/common/eal_common_dev.c  |  4 ++--
>  lib/librte_eal/common/include/rte_dev.h | 10 ++--------
>  lib/librte_eal/rte_eal_version.map      |  4 ++--
>  3 files changed, 6 insertions(+), 12 deletions(-)
> 
> diff --git a/lib/librte_eal/common/eal_common_dev.c b/lib/librte_eal/common/eal_common_dev.c
> index 62e9ed477..5759ec2d8 100644
> --- a/lib/librte_eal/common/eal_common_dev.c
> +++ b/lib/librte_eal/common/eal_common_dev.c
> @@ -186,7 +186,7 @@ local_dev_probe(const char *devargs, struct rte_device **new_dev)
>  	return ret;
>  }
>  
> -int __rte_experimental
> +int
>  rte_dev_probe(const char *devargs)
>  {
>  	struct eal_dev_mp_req req;
> @@ -322,7 +322,7 @@ local_dev_remove(struct rte_device *dev)
>  	return 0;
>  }
>  
> -int __rte_experimental
> +int
>  rte_dev_remove(struct rte_device *dev)
>  {
>  	struct eal_dev_mp_req req;
> diff --git a/lib/librte_eal/common/include/rte_dev.h b/lib/librte_eal/common/include/rte_dev.h
> index cd6c187cc..a9724dc91 100644
> --- a/lib/librte_eal/common/include/rte_dev.h
> +++ b/lib/librte_eal/common/include/rte_dev.h
> @@ -196,9 +196,6 @@ int rte_eal_hotplug_add(const char *busname, const char *devname,
>  			const char *drvargs);
>  
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Add matching devices.
>   *
>   * In multi-process, it will request other processes to add the same device.
> @@ -209,7 +206,7 @@ int rte_eal_hotplug_add(const char *busname, const char *devname,
>   * @return
>   *   0 on success, negative on error.
>   */
> -int __rte_experimental rte_dev_probe(const char *devargs);
> +int rte_dev_probe(const char *devargs);
>  
>  /**
>   * Hotplug remove a given device from a specific bus.
> @@ -227,9 +224,6 @@ int __rte_experimental rte_dev_probe(const char *devargs);
>  int rte_eal_hotplug_remove(const char *busname, const char *devname);
>  
>  /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
>   * Remove one device.
>   *
>   * In multi-process, it will request other processes to remove the same device.
> @@ -240,7 +234,7 @@ int rte_eal_hotplug_remove(const char *busname, const char *devname);
>   * @return
>   *   0 on success, negative on error.
>   */
> -int __rte_experimental rte_dev_remove(struct rte_device *dev);
> +int rte_dev_remove(struct rte_device *dev);
>  
>  /**
>   * Device comparison function.
> diff --git a/lib/librte_eal/rte_eal_version.map b/lib/librte_eal/rte_eal_version.map
> index 04f624246..be4976e3d 100644
> --- a/lib/librte_eal/rte_eal_version.map
> +++ b/lib/librte_eal/rte_eal_version.map
> @@ -262,6 +262,8 @@ DPDK_18.11 {
>  	rte_eal_get_runtime_dir;
>  	rte_eal_hotplug_add;
>  	rte_eal_hotplug_remove;
> +	rte_dev_probe;
> +	rte_dev_remove;

maybe you want to keep these in alphabetical order

>  	rte_strscpy;
>  
>  } DPDK_18.08;
> @@ -285,8 +287,6 @@ EXPERIMENTAL {
>  	rte_dev_is_probed;
>  	rte_dev_iterator_init;
>  	rte_dev_iterator_next;
> -	rte_dev_probe;
> -	rte_dev_remove;
>  	rte_devargs_add;
>  	rte_devargs_dump;
>  	rte_devargs_insert;
> 

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [dpdk-dev] [PATCH 2/2] ethdev: remove experimental tag for iterator API
  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
  0 siblings, 0 replies; 8+ messages in thread
From: Kevin Traynor @ 2018-11-05 12:22 UTC (permalink / raw)
  To: Thomas Monjalon, dev; +Cc: ophirmu, ferruh.yigit, arybchenko, ian.stokes

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;
> 

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [dpdk-dev] [PATCH 1/2] eal: remove experimental tag for probe/remove
  2018-11-05 12:19   ` Kevin Traynor
@ 2018-11-05 13:13     ` Thomas Monjalon
  2018-11-05 23:08       ` Thomas Monjalon
  0 siblings, 1 reply; 8+ messages in thread
From: Thomas Monjalon @ 2018-11-05 13:13 UTC (permalink / raw)
  To: Kevin Traynor; +Cc: dev, ophirmu, ferruh.yigit, arybchenko, ian.stokes

05/11/2018 13:19, Kevin Traynor:
> On 11/01/2018 02:46 PM, Thomas Monjalon wrote:
> > The functions rte_dev_probe() and rte_dev_remove() are new
> > in DPDK 18.11 so they got the experimental tag by policy.
> > However they are too much basic functions for being skipped
> > by strict applications which do not use experimental functions.
> > 
> > The alternative is to use rte_eal_hotplug_add() and
> > rte_eal_hotplug_remove(), but their API requires the application
> > to parse the devargs string in order to provide bus name,
> > device name and driver arguments.
> > 
> > The new function rte_dev_probe() is really simpler to use and
> > more flexible by accepting any devargs string.
> > Let's encourage applications to use it.
> > 
> > The old functions rte_eal_hotplug_* may be deprecated later.
> > 
> > Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> 
> one minor comment below, but it's no big deal..
> 
> Acked-by: Kevin Traynor <ktraynor@redhat.com>
> Tested-by: Kevin Traynor <ktraynor@redhat.com>
[...]
> > --- a/lib/librte_eal/rte_eal_version.map
> > +++ b/lib/librte_eal/rte_eal_version.map
> > @@ -262,6 +262,8 @@ DPDK_18.11 {
> >  	rte_eal_get_runtime_dir;
> >  	rte_eal_hotplug_add;
> >  	rte_eal_hotplug_remove;
> > +	rte_dev_probe;
> > +	rte_dev_remove;
> 
> maybe you want to keep these in alphabetical order

Oh yes, I must revise the alphabetical order!
Thanks

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [dpdk-dev] [PATCH 1/2] eal: remove experimental tag for probe/remove
  2018-11-05 13:13     ` Thomas Monjalon
@ 2018-11-05 23:08       ` Thomas Monjalon
  0 siblings, 0 replies; 8+ messages in thread
From: Thomas Monjalon @ 2018-11-05 23:08 UTC (permalink / raw)
  To: dev; +Cc: Kevin Traynor, ophirmu, ferruh.yigit, arybchenko, ian.stokes

05/11/2018 14:13, Thomas Monjalon:
> 05/11/2018 13:19, Kevin Traynor:
> > On 11/01/2018 02:46 PM, Thomas Monjalon wrote:
> > > The functions rte_dev_probe() and rte_dev_remove() are new
> > > in DPDK 18.11 so they got the experimental tag by policy.
> > > However they are too much basic functions for being skipped
> > > by strict applications which do not use experimental functions.
> > > 
> > > The alternative is to use rte_eal_hotplug_add() and
> > > rte_eal_hotplug_remove(), but their API requires the application
> > > to parse the devargs string in order to provide bus name,
> > > device name and driver arguments.
> > > 
> > > The new function rte_dev_probe() is really simpler to use and
> > > more flexible by accepting any devargs string.
> > > Let's encourage applications to use it.
> > > 
> > > The old functions rte_eal_hotplug_* may be deprecated later.
> > > 
> > > Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> > 
> > one minor comment below, but it's no big deal..
> > 
> > Acked-by: Kevin Traynor <ktraynor@redhat.com>
> > Tested-by: Kevin Traynor <ktraynor@redhat.com>
> [...]
> > > --- a/lib/librte_eal/rte_eal_version.map
> > > +++ b/lib/librte_eal/rte_eal_version.map
> > > @@ -262,6 +262,8 @@ DPDK_18.11 {
> > >  	rte_eal_get_runtime_dir;
> > >  	rte_eal_hotplug_add;
> > >  	rte_eal_hotplug_remove;
> > > +	rte_dev_probe;
> > > +	rte_dev_remove;
> > 
> > maybe you want to keep these in alphabetical order
> 
> Oh yes, I must revise the alphabetical order!
> Thanks

Series applied with above change.

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2018-11-05 23:08 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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
2018-11-05 11:34 ` [dpdk-dev] [PATCH 0/2] remove experimental tag for hotplug API Thomas Monjalon

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