DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [20.11, PATCH] bbdev: remove experimental tag from API
@ 2020-06-26 23:14 Nicolas Chautru
  2020-06-26 23:14 ` Nicolas Chautru
  2020-06-30  7:30 ` David Marchand
  0 siblings, 2 replies; 7+ messages in thread
From: Nicolas Chautru @ 2020-06-26 23:14 UTC (permalink / raw)
  To: dev, thomas, akhil.goyal; +Cc: Nicolas Chautru

Planning to move bbdev API to stable from 20.11 (ABI version 21)
and remove experimental tag. 
Sending now to advertise and get any feedback. 
Some manual rebase will be required later on notably as the
actual release note which is not there yet. 

Nicolas Chautru (1):
  bbdev: remove experimental tag from API

 doc/guides/rel_notes/release_20_08.rst |  2 ++
 lib/librte_bbdev/rte_bbdev.h           | 31 -------------------------------
 lib/librte_bbdev/rte_bbdev_op.h        |  9 ---------
 lib/librte_bbdev/rte_bbdev_pmd.h       |  7 -------
 lib/librte_bbdev/rte_bbdev_version.map |  2 +-
 5 files changed, 3 insertions(+), 48 deletions(-)

-- 
1.8.3.1


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

* [dpdk-dev] [20.11, PATCH] bbdev: remove experimental tag from API
  2020-06-26 23:14 [dpdk-dev] [20.11, PATCH] bbdev: remove experimental tag from API Nicolas Chautru
@ 2020-06-26 23:14 ` Nicolas Chautru
  2020-06-30  7:30 ` David Marchand
  1 sibling, 0 replies; 7+ messages in thread
From: Nicolas Chautru @ 2020-06-26 23:14 UTC (permalink / raw)
  To: dev, thomas, akhil.goyal; +Cc: Nicolas Chautru

This commit promotes the full bbdev interface to stable,
starting with the 20.08 major version.
Overdue for some time as bbdev interface has been stable.

Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
---
 doc/guides/rel_notes/release_20_08.rst |  2 ++
 lib/librte_bbdev/rte_bbdev.h           | 31 -------------------------------
 lib/librte_bbdev/rte_bbdev_op.h        |  9 ---------
 lib/librte_bbdev/rte_bbdev_pmd.h       |  7 -------
 lib/librte_bbdev/rte_bbdev_version.map |  2 +-
 5 files changed, 3 insertions(+), 48 deletions(-)

diff --git a/doc/guides/rel_notes/release_20_08.rst b/doc/guides/rel_notes/release_20_08.rst
index 39064af..ce9f3d5 100644
--- a/doc/guides/rel_notes/release_20_08.rst
+++ b/doc/guides/rel_notes/release_20_08.rst
@@ -84,6 +84,8 @@ API Changes
    This section is a comment. Do not overwrite or remove it.
    Also, make sure to start the actual text at the margin.
    =========================================================
+* bbdev: the experimental tag is dropped from the bbdev library, and its
+  interfaces are considered stable as of DPDK 20.11.
 
 
 ABI Changes
diff --git a/lib/librte_bbdev/rte_bbdev.h b/lib/librte_bbdev/rte_bbdev.h
index ecd95a8..79a6fb4 100644
--- a/lib/librte_bbdev/rte_bbdev.h
+++ b/lib/librte_bbdev/rte_bbdev.h
@@ -10,9 +10,6 @@
  *
  * Wireless base band device abstraction APIs.
  *
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * This API allows an application to discover, configure and use a device to
  * process operations. An asynchronous API (enqueue, followed by later dequeue)
  * is used for processing operations.
@@ -55,7 +52,6 @@ enum rte_bbdev_state {
  * @return
  *   The total number of usable devices.
  */
-__rte_experimental
 uint16_t
 rte_bbdev_count(void);
 
@@ -68,7 +64,6 @@ enum rte_bbdev_state {
  * @return
  *   true if device ID is valid and device is attached, false otherwise.
  */
-__rte_experimental
 bool
 rte_bbdev_is_valid(uint16_t dev_id);
 
@@ -82,7 +77,6 @@ enum rte_bbdev_state {
  *   - The next device, or
  *   - RTE_BBDEV_MAX_DEVS if none found
  */
-__rte_experimental
 uint16_t
 rte_bbdev_find_next(uint16_t dev_id);
 
@@ -112,7 +106,6 @@ enum rte_bbdev_state {
  *   - -EBUSY if the identified device has already started
  *   - -ENOMEM if unable to allocate memory
  */
-__rte_experimental
 int
 rte_bbdev_setup_queues(uint16_t dev_id, uint16_t num_queues, int socket_id);
 
@@ -130,7 +123,6 @@ enum rte_bbdev_state {
  *   - -EBUSY if the identified device has already started
  *   - -ENOTSUP if the interrupts are not supported by the device
  */
-__rte_experimental
 int
 rte_bbdev_intr_enable(uint16_t dev_id);
 
@@ -160,7 +152,6 @@ struct rte_bbdev_queue_conf {
  *   - EINVAL if the identified queue size or priority are invalid
  *   - EBUSY if the identified queue or its device have already started
  */
-__rte_experimental
 int
 rte_bbdev_queue_configure(uint16_t dev_id, uint16_t queue_id,
 		const struct rte_bbdev_queue_conf *conf);
@@ -176,7 +167,6 @@ struct rte_bbdev_queue_conf {
  *   - 0 on success
  *   - negative value on failure - as returned from PMD driver
  */
-__rte_experimental
 int
 rte_bbdev_start(uint16_t dev_id);
 
@@ -190,7 +180,6 @@ struct rte_bbdev_queue_conf {
  * @return
  *   - 0 on success
  */
-__rte_experimental
 int
 rte_bbdev_stop(uint16_t dev_id);
 
@@ -204,7 +193,6 @@ struct rte_bbdev_queue_conf {
  * @return
  *   - 0 on success
  */
-__rte_experimental
 int
 rte_bbdev_close(uint16_t dev_id);
 
@@ -222,7 +210,6 @@ struct rte_bbdev_queue_conf {
  *   - 0 on success
  *   - negative value on failure - as returned from PMD driver
  */
-__rte_experimental
 int
 rte_bbdev_queue_start(uint16_t dev_id, uint16_t queue_id);
 
@@ -238,7 +225,6 @@ struct rte_bbdev_queue_conf {
  *   - 0 on success
  *   - negative value on failure - as returned from PMD driver
  */
-__rte_experimental
 int
 rte_bbdev_queue_stop(uint16_t dev_id, uint16_t queue_id);
 
@@ -272,7 +258,6 @@ struct rte_bbdev_stats {
  *   - 0 on success
  *   - EINVAL if invalid parameter pointer is provided
  */
-__rte_experimental
 int
 rte_bbdev_stats_get(uint16_t dev_id, struct rte_bbdev_stats *stats);
 
@@ -284,7 +269,6 @@ struct rte_bbdev_stats {
  * @return
  *   - 0 on success
  */
-__rte_experimental
 int
 rte_bbdev_stats_reset(uint16_t dev_id);
 
@@ -347,7 +331,6 @@ struct rte_bbdev_info {
  *   - 0 on success
  *   - EINVAL if invalid parameter pointer is provided
  */
-__rte_experimental
 int
 rte_bbdev_info_get(uint16_t dev_id, struct rte_bbdev_info *dev_info);
 
@@ -374,7 +357,6 @@ struct rte_bbdev_queue_info {
  *   - 0 on success
  *   - EINVAL if invalid parameter pointer is provided
  */
-__rte_experimental
 int
 rte_bbdev_queue_info_get(uint16_t dev_id, uint16_t queue_id,
 		struct rte_bbdev_queue_info *queue_info);
@@ -491,7 +473,6 @@ struct __rte_cache_aligned rte_bbdev {
  *   The number of operations actually enqueued (this is the number of processed
  *   entries in the @p ops array).
  */
-__rte_experimental
 static inline uint16_t
 rte_bbdev_enqueue_enc_ops(uint16_t dev_id, uint16_t queue_id,
 		struct rte_bbdev_enc_op **ops, uint16_t num_ops)
@@ -522,7 +503,6 @@ struct __rte_cache_aligned rte_bbdev {
  *   The number of operations actually enqueued (this is the number of processed
  *   entries in the @p ops array).
  */
-__rte_experimental
 static inline uint16_t
 rte_bbdev_enqueue_dec_ops(uint16_t dev_id, uint16_t queue_id,
 		struct rte_bbdev_dec_op **ops, uint16_t num_ops)
@@ -553,7 +533,6 @@ struct __rte_cache_aligned rte_bbdev {
  *   The number of operations actually enqueued (this is the number of processed
  *   entries in the @p ops array).
  */
-__rte_experimental
 static inline uint16_t
 rte_bbdev_enqueue_ldpc_enc_ops(uint16_t dev_id, uint16_t queue_id,
 		struct rte_bbdev_enc_op **ops, uint16_t num_ops)
@@ -584,7 +563,6 @@ struct __rte_cache_aligned rte_bbdev {
  *   The number of operations actually enqueued (this is the number of processed
  *   entries in the @p ops array).
  */
-__rte_experimental
 static inline uint16_t
 rte_bbdev_enqueue_ldpc_dec_ops(uint16_t dev_id, uint16_t queue_id,
 		struct rte_bbdev_dec_op **ops, uint16_t num_ops)
@@ -617,7 +595,6 @@ struct __rte_cache_aligned rte_bbdev {
  *   The number of operations actually dequeued (this is the number of entries
  *   copied into the @p ops array).
  */
-__rte_experimental
 static inline uint16_t
 rte_bbdev_dequeue_enc_ops(uint16_t dev_id, uint16_t queue_id,
 		struct rte_bbdev_enc_op **ops, uint16_t num_ops)
@@ -650,7 +627,6 @@ struct __rte_cache_aligned rte_bbdev {
  *   copied into the @p ops array).
  */
 
-__rte_experimental
 static inline uint16_t
 rte_bbdev_dequeue_dec_ops(uint16_t dev_id, uint16_t queue_id,
 		struct rte_bbdev_dec_op **ops, uint16_t num_ops)
@@ -682,7 +658,6 @@ struct __rte_cache_aligned rte_bbdev {
  *   The number of operations actually dequeued (this is the number of entries
  *   copied into the @p ops array).
  */
-__rte_experimental
 static inline uint16_t
 rte_bbdev_dequeue_ldpc_enc_ops(uint16_t dev_id, uint16_t queue_id,
 		struct rte_bbdev_enc_op **ops, uint16_t num_ops)
@@ -713,7 +688,6 @@ struct __rte_cache_aligned rte_bbdev {
  *   The number of operations actually dequeued (this is the number of entries
  *   copied into the @p ops array).
  */
-__rte_experimental
 static inline uint16_t
 rte_bbdev_dequeue_ldpc_dec_ops(uint16_t dev_id, uint16_t queue_id,
 		struct rte_bbdev_dec_op **ops, uint16_t num_ops)
@@ -765,7 +739,6 @@ typedef void (*rte_bbdev_cb_fn)(uint16_t dev_id,
  * @return
  *   Zero on success, negative value on failure.
  */
-__rte_experimental
 int
 rte_bbdev_callback_register(uint16_t dev_id, enum rte_bbdev_event_type event,
 		rte_bbdev_cb_fn cb_fn, void *cb_arg);
@@ -789,7 +762,6 @@ typedef void (*rte_bbdev_cb_fn)(uint16_t dev_id,
  *   - EINVAL if invalid parameter pointer is provided
  *   - EAGAIN if the provided callback pointer does not exist
  */
-__rte_experimental
 int
 rte_bbdev_callback_unregister(uint16_t dev_id, enum rte_bbdev_event_type event,
 		rte_bbdev_cb_fn cb_fn, void *cb_arg);
@@ -810,7 +782,6 @@ typedef void (*rte_bbdev_cb_fn)(uint16_t dev_id,
  *   - 0 on success
  *   - negative value on failure - as returned from PMD driver
  */
-__rte_experimental
 int
 rte_bbdev_queue_intr_enable(uint16_t dev_id, uint16_t queue_id);
 
@@ -827,7 +798,6 @@ typedef void (*rte_bbdev_cb_fn)(uint16_t dev_id,
  *   - 0 on success
  *   - negative value on failure - as returned from PMD driver
  */
-__rte_experimental
 int
 rte_bbdev_queue_intr_disable(uint16_t dev_id, uint16_t queue_id);
 
@@ -855,7 +825,6 @@ typedef void (*rte_bbdev_cb_fn)(uint16_t dev_id,
  *   - ENOTSUP if interrupts are not supported by the identified device
  *   - negative value on failure - as returned from PMD driver
  */
-__rte_experimental
 int
 rte_bbdev_queue_intr_ctl(uint16_t dev_id, uint16_t queue_id, int epfd, int op,
 		void *data);
diff --git a/lib/librte_bbdev/rte_bbdev_op.h b/lib/librte_bbdev/rte_bbdev_op.h
index f726d73..45a4ead 100644
--- a/lib/librte_bbdev/rte_bbdev_op.h
+++ b/lib/librte_bbdev/rte_bbdev_op.h
@@ -9,9 +9,6 @@
  * @file rte_bbdev_op.h
  *
  * Defines wireless base band layer 1 operations and capabilities
- *
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
  */
 
 #ifdef __cplusplus
@@ -807,7 +804,6 @@ struct rte_bbdev_op_pool_private {
  *   Operation type as string or NULL if op_type is invalid
  *
  */
-__rte_experimental
 const char*
 rte_bbdev_op_type_str(enum rte_bbdev_op_type op_type);
 
@@ -831,7 +827,6 @@ struct rte_bbdev_op_pool_private {
  *   - Pointer to a mempool on success,
  *   - NULL pointer on failure.
  */
-__rte_experimental
 struct rte_mempool *
 rte_bbdev_op_pool_create(const char *name, enum rte_bbdev_op_type type,
 		unsigned int num_elements, unsigned int cache_size,
@@ -851,7 +846,6 @@ struct rte_mempool *
  *   - 0 on success
  *   - EINVAL if invalid mempool is provided
  */
-__rte_experimental
 static inline int
 rte_bbdev_enc_op_alloc_bulk(struct rte_mempool *mempool,
 		struct rte_bbdev_enc_op **ops, uint16_t num_ops)
@@ -888,7 +882,6 @@ struct rte_mempool *
  *   - 0 on success
  *   - EINVAL if invalid mempool is provided
  */
-__rte_experimental
 static inline int
 rte_bbdev_dec_op_alloc_bulk(struct rte_mempool *mempool,
 		struct rte_bbdev_dec_op **ops, uint16_t num_ops)
@@ -921,7 +914,6 @@ struct rte_mempool *
  * @param num_ops
  *   Number of structures
  */
-__rte_experimental
 static inline void
 rte_bbdev_dec_op_free_bulk(struct rte_bbdev_dec_op **ops, unsigned int num_ops)
 {
@@ -939,7 +931,6 @@ struct rte_mempool *
  * @param num_ops
  *   Number of structures
  */
-__rte_experimental
 static inline void
 rte_bbdev_enc_op_free_bulk(struct rte_bbdev_enc_op **ops, unsigned int num_ops)
 {
diff --git a/lib/librte_bbdev/rte_bbdev_pmd.h b/lib/librte_bbdev/rte_bbdev_pmd.h
index 237e336..dd0e359 100644
--- a/lib/librte_bbdev/rte_bbdev_pmd.h
+++ b/lib/librte_bbdev/rte_bbdev_pmd.h
@@ -10,9 +10,6 @@
  *
  * Wireless base band driver-facing APIs.
  *
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * This API provides the mechanism for device drivers to register with the
  * bbdev interface. User applications should not use this API.
  */
@@ -43,7 +40,6 @@
  * @return
  *   - Slot in the rte_bbdev array for a new device;
  */
-__rte_experimental
 struct rte_bbdev *
 rte_bbdev_allocate(const char *name);
 
@@ -56,7 +52,6 @@ struct rte_bbdev *
  * @return
  *   - 0 on success, negative on error
  */
-__rte_experimental
 int
 rte_bbdev_release(struct rte_bbdev *bbdev);
 
@@ -71,7 +66,6 @@ struct rte_bbdev *
  *   - NULL otherwise
  *
  */
-__rte_experimental
 struct rte_bbdev *
 rte_bbdev_get_named_dev(const char *name);
 
@@ -190,7 +184,6 @@ struct rte_bbdev_ops {
  * @param ret_param
  *   To pass data back to user application.
  */
-__rte_experimental
 void
 rte_bbdev_pmd_callback_process(struct rte_bbdev *dev,
 	enum rte_bbdev_event_type event, void *ret_param);
diff --git a/lib/librte_bbdev/rte_bbdev_version.map b/lib/librte_bbdev/rte_bbdev_version.map
index 3624eb1..9e79be7 100644
--- a/lib/librte_bbdev/rte_bbdev_version.map
+++ b/lib/librte_bbdev/rte_bbdev_version.map
@@ -1,4 +1,4 @@
-EXPERIMENTAL {
+DPDK_21 {
 	global:
 
 	rte_bbdev_allocate;
-- 
1.8.3.1


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

* Re: [dpdk-dev] [20.11, PATCH] bbdev: remove experimental tag from API
  2020-06-26 23:14 [dpdk-dev] [20.11, PATCH] bbdev: remove experimental tag from API Nicolas Chautru
  2020-06-26 23:14 ` Nicolas Chautru
@ 2020-06-30  7:30 ` David Marchand
  2020-06-30  7:35   ` Akhil Goyal
  1 sibling, 1 reply; 7+ messages in thread
From: David Marchand @ 2020-06-30  7:30 UTC (permalink / raw)
  To: Nicolas Chautru; +Cc: dev, Thomas Monjalon, Akhil Goyal

Hello Nicolas,

On Sat, Jun 27, 2020 at 1:14 AM Nicolas Chautru
<nicolas.chautru@intel.com> wrote:
>
> Planning to move bbdev API to stable from 20.11 (ABI version 21)
> and remove experimental tag.
> Sending now to advertise and get any feedback.
> Some manual rebase will be required later on notably as the
> actual release note which is not there yet.

Cool that we want to stabilize this API.
My concern is that we have drivers from a single vendor.
I would hate to see a new vendor unable to submit a driver (or having
to wait until the next ABI breakage window) because of the current
API/ABI.


-- 
David Marchand


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

* Re: [dpdk-dev] [20.11, PATCH] bbdev: remove experimental tag from API
  2020-06-30  7:30 ` David Marchand
@ 2020-06-30  7:35   ` Akhil Goyal
  2020-07-02 17:54     ` Akhil Goyal
  0 siblings, 1 reply; 7+ messages in thread
From: Akhil Goyal @ 2020-06-30  7:35 UTC (permalink / raw)
  To: David Marchand, Nicolas Chautru; +Cc: dev, Thomas Monjalon


> 
> Hello Nicolas,
> 
> On Sat, Jun 27, 2020 at 1:14 AM Nicolas Chautru
> <nicolas.chautru@intel.com> wrote:
> >
> > Planning to move bbdev API to stable from 20.11 (ABI version 21)
> > and remove experimental tag.
> > Sending now to advertise and get any feedback.
> > Some manual rebase will be required later on notably as the
> > actual release note which is not there yet.
> 
> Cool that we want to stabilize this API.
> My concern is that we have drivers from a single vendor.
> I would hate to see a new vendor unable to submit a driver (or having
> to wait until the next ABI breakage window) because of the current
> API/ABI.
> 
> 

+1 from my side. I am not sure how much it is acceptable for all the vendors/customers.
It is not reviewed by most of the vendors who may support in future.
It is not good to remove experimental tag as we have a long 1 year cycle to break the API/ABI.

Regards,
Akhil

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

* Re: [dpdk-dev] [20.11, PATCH] bbdev: remove experimental tag from API
  2020-06-30  7:35   ` Akhil Goyal
@ 2020-07-02 17:54     ` Akhil Goyal
  2020-07-02 18:02       ` Chautru, Nicolas
  0 siblings, 1 reply; 7+ messages in thread
From: Akhil Goyal @ 2020-07-02 17:54 UTC (permalink / raw)
  To: David Marchand, Nicolas Chautru; +Cc: dev, Thomas Monjalon


> 
> >
> > Hello Nicolas,
> >
> > On Sat, Jun 27, 2020 at 1:14 AM Nicolas Chautru
> > <nicolas.chautru@intel.com> wrote:
> > >
> > > Planning to move bbdev API to stable from 20.11 (ABI version 21)
> > > and remove experimental tag.
> > > Sending now to advertise and get any feedback.
> > > Some manual rebase will be required later on notably as the
> > > actual release note which is not there yet.
> >
> > Cool that we want to stabilize this API.
> > My concern is that we have drivers from a single vendor.
> > I would hate to see a new vendor unable to submit a driver (or having
> > to wait until the next ABI breakage window) because of the current
> > API/ABI.
> >
> >
> 
> +1 from my side. I am not sure how much it is acceptable for all the
> vendors/customers.
> It is not reviewed by most of the vendors who may support in future.
> It is not good to remove experimental tag as we have a long 1 year cycle to
> break the API/ABI.
> 
Moving the patch as deferred in patchworks.


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

* Re: [dpdk-dev] [20.11, PATCH] bbdev: remove experimental tag from API
  2020-07-02 17:54     ` Akhil Goyal
@ 2020-07-02 18:02       ` Chautru, Nicolas
  2020-07-02 18:09         ` Akhil Goyal
  0 siblings, 1 reply; 7+ messages in thread
From: Chautru, Nicolas @ 2020-07-02 18:02 UTC (permalink / raw)
  To: Akhil Goyal, David Marchand; +Cc: dev, Thomas Monjalon

> From: Akhil Goyal <akhil.goyal@nxp.com>
> > > Hello Nicolas,
> > >
> > > On Sat, Jun 27, 2020 at 1:14 AM Nicolas Chautru
> > > <nicolas.chautru@intel.com> wrote:
> > > >
> > > > Planning to move bbdev API to stable from 20.11 (ABI version 21)
> > > > and remove experimental tag.
> > > > Sending now to advertise and get any feedback.
> > > > Some manual rebase will be required later on notably as the actual
> > > > release note which is not there yet.
> > >
> > > Cool that we want to stabilize this API.
> > > My concern is that we have drivers from a single vendor.
> > > I would hate to see a new vendor unable to submit a driver (or
> > > having to wait until the next ABI breakage window) because of the
> > > current API/ABI.
> > >
> > >
> >
> > +1 from my side. I am not sure how much it is acceptable for all the
> > vendors/customers.
> > It is not reviewed by most of the vendors who may support in future.
> > It is not good to remove experimental tag as we have a long 1 year
> > cycle to break the API/ABI.
> >
> Moving the patch as deferred in patchworks.

That is fine and all good discussion. 
We know of another vendor who plan to release a bbdev driver but probably after 20.11.
There is one extra capability they will need exposed, we will aim to have the API is updated prior to that.
Assuming the API get updated between now and 20.11, is there still room to remove experimental tag in 20.11 or the expectation is to wait regardless for a full stable cycle and only intercept ABI v22 in  21.11?

Thanks
Nic


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

* Re: [dpdk-dev] [20.11, PATCH] bbdev: remove experimental tag from API
  2020-07-02 18:02       ` Chautru, Nicolas
@ 2020-07-02 18:09         ` Akhil Goyal
  0 siblings, 0 replies; 7+ messages in thread
From: Akhil Goyal @ 2020-07-02 18:09 UTC (permalink / raw)
  To: Chautru, Nicolas, David Marchand; +Cc: dev, Thomas Monjalon

> 
> > From: Akhil Goyal <akhil.goyal@nxp.com>
> > > > Hello Nicolas,
> > > >
> > > > On Sat, Jun 27, 2020 at 1:14 AM Nicolas Chautru
> > > > <nicolas.chautru@intel.com> wrote:
> > > > >
> > > > > Planning to move bbdev API to stable from 20.11 (ABI version 21)
> > > > > and remove experimental tag.
> > > > > Sending now to advertise and get any feedback.
> > > > > Some manual rebase will be required later on notably as the actual
> > > > > release note which is not there yet.
> > > >
> > > > Cool that we want to stabilize this API.
> > > > My concern is that we have drivers from a single vendor.
> > > > I would hate to see a new vendor unable to submit a driver (or
> > > > having to wait until the next ABI breakage window) because of the
> > > > current API/ABI.
> > > >
> > > >
> > >
> > > +1 from my side. I am not sure how much it is acceptable for all the
> > > vendors/customers.
> > > It is not reviewed by most of the vendors who may support in future.
> > > It is not good to remove experimental tag as we have a long 1 year
> > > cycle to break the API/ABI.
> > >
> > Moving the patch as deferred in patchworks.
> 
> That is fine and all good discussion.
> We know of another vendor who plan to release a bbdev driver but probably
> after 20.11.
> There is one extra capability they will need exposed, we will aim to have the API
> is updated prior to that.
> Assuming the API get updated between now and 20.11, is there still room to
> remove experimental tag in 20.11 or the expectation is to wait regardless for a
> full stable cycle and only intercept ABI v22 in  21.11?
> 
I think ABI v22 in 21.11 would be good to move this to stable so that if there are changes
In the ABI when a new vendor PMD comes up, they can be incorporated.
And as the world is evolving towards 5G, there may be multiple vendors and ABI may change.

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

end of thread, other threads:[~2020-07-02 18:09 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-26 23:14 [dpdk-dev] [20.11, PATCH] bbdev: remove experimental tag from API Nicolas Chautru
2020-06-26 23:14 ` Nicolas Chautru
2020-06-30  7:30 ` David Marchand
2020-06-30  7:35   ` Akhil Goyal
2020-07-02 17:54     ` Akhil Goyal
2020-07-02 18:02       ` Chautru, Nicolas
2020-07-02 18:09         ` Akhil Goyal

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