[dpdk-dev] doc: reduce initial offload API scope to drivers

Message ID 20180316153141.124657-1-ferruh.yigit@intel.com (mailing list archive)
State Superseded, archived
Delegated to: Ferruh Yigit
Headers

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Ferruh Yigit March 16, 2018, 3:31 p.m. UTC
  18.05 tagets ethdev-PMD offload API, which means switching all PMDs to
new offloading API

Next step targets ethdev-application offload API which means forcing
applications to switch to new API

Fixes: 3004d3454192 ("doc: update deprecation of ethdev offload API")
Cc: shahafs@mellanox.com

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 doc/guides/rel_notes/deprecation.rst | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
  

Comments

Shahaf Shuler March 18, 2018, 5:57 a.m. UTC | #1
Hi Ferruh,

Friday, March 16, 2018 5:32 PM, Ferruh Yigit:
> Subject: [PATCH] doc: reduce initial offload API scope to drivers
> 
> 18.05 tagets ethdev-PMD offload API, which means switching all PMDs to
> new offloading API
> 
> Next step targets ethdev-application offload API which means forcing
> applications to switch to new API
> 
> Fixes: 3004d3454192 ("doc: update deprecation of ethdev offload API")
> Cc: shahafs@mellanox.com
> 
> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
> ---
>  doc/guides/rel_notes/deprecation.rst | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/doc/guides/rel_notes/deprecation.rst
> b/doc/guides/rel_notes/deprecation.rst
> index 0c696f743..b40c57f28 100644
> --- a/doc/guides/rel_notes/deprecation.rst
> +++ b/doc/guides/rel_notes/deprecation.rst
> @@ -97,8 +97,13 @@ Deprecation Notices
>  * ethdev: a new Tx and Rx offload API was introduced on 17.11.
>    In the new API, offloads are divided into per-port and per-queue offloads.
>    Offloads are disabled by default and enabled per application request.
> -  The old offloads API is target to be deprecated on 18.05. This includes:
> +  The old offloads API between ethdev and drivers is target to be
> deprecated on 18.05.
> +  This includes:
> 
> +  - removal of the conversion in ethdev from new offloading API to old API.

We cannot remove this part before all of the applications has moved to the new API.
The conversion function is to help PMDs to have single control path with no branch for both old and new application. 

> +
> +  In later releases the old offloading API between ethdev and
> + applications will be  deprecated too, which will include:
>    - removal of ``ETH_TXQ_FLAGS_NO*`` flags.
>    - removal of ``txq_flags`` field from ``rte_eth_txconf`` struct.
>    - removal of the offloads bit-field from ``rte_eth_rxmode`` struct.

I am OK with postponing the deprecation to a later release and have the PMDs conversion to the new API in the current/next one. 

> --
> 2.13.6
  
Ferruh Yigit March 20, 2018, 2:02 p.m. UTC | #2
On 3/18/2018 5:57 AM, Shahaf Shuler wrote:
> Hi Ferruh,
> 
> Friday, March 16, 2018 5:32 PM, Ferruh Yigit:
>> Subject: [PATCH] doc: reduce initial offload API scope to drivers
>>
>> 18.05 tagets ethdev-PMD offload API, which means switching all PMDs to
>> new offloading API
>>
>> Next step targets ethdev-application offload API which means forcing
>> applications to switch to new API
>>
>> Fixes: 3004d3454192 ("doc: update deprecation of ethdev offload API")
>> Cc: shahafs@mellanox.com
>>
>> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
>> ---
>>  doc/guides/rel_notes/deprecation.rst | 7 ++++++-
>>  1 file changed, 6 insertions(+), 1 deletion(-)
>>
>> diff --git a/doc/guides/rel_notes/deprecation.rst
>> b/doc/guides/rel_notes/deprecation.rst
>> index 0c696f743..b40c57f28 100644
>> --- a/doc/guides/rel_notes/deprecation.rst
>> +++ b/doc/guides/rel_notes/deprecation.rst
>> @@ -97,8 +97,13 @@ Deprecation Notices
>>  * ethdev: a new Tx and Rx offload API was introduced on 17.11.
>>    In the new API, offloads are divided into per-port and per-queue offloads.
>>    Offloads are disabled by default and enabled per application request.
>> -  The old offloads API is target to be deprecated on 18.05. This includes:
>> +  The old offloads API between ethdev and drivers is target to be
>> deprecated on 18.05.
>> +  This includes:
>>
>> +  - removal of the conversion in ethdev from new offloading API to old API.
> 
> We cannot remove this part before all of the applications has moved to the new API.
> The conversion function is to help PMDs to have single control path with no branch for both old and new application. 

There are two conversion done in ethdev:
1) From old API to new API
2) From new API to old API

so that PMDs can have access to both old and new API independent from what
application provided.

Above text suggesting to remove only 2).
If we switch all PMDs to new API we don't need conversion 2) anymore.

If application using new API we are all good, for old application that using old
API ethdev will convert to new API so that PMDs can use them.

> 
>> +
>> +  In later releases the old offloading API between ethdev and
>> + applications will be  deprecated too, which will include:
>>    - removal of ``ETH_TXQ_FLAGS_NO*`` flags.
>>    - removal of ``txq_flags`` field from ``rte_eth_txconf`` struct.
>>    - removal of the offloads bit-field from ``rte_eth_rxmode`` struct.
> 
> I am OK with postponing the deprecation to a later release and have the PMDs conversion to the new API in the current/next one. 
> 
>> --
>> 2.13.6
>
  

Patch

diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index 0c696f743..b40c57f28 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -97,8 +97,13 @@  Deprecation Notices
 * ethdev: a new Tx and Rx offload API was introduced on 17.11.
   In the new API, offloads are divided into per-port and per-queue offloads.
   Offloads are disabled by default and enabled per application request.
-  The old offloads API is target to be deprecated on 18.05. This includes:
+  The old offloads API between ethdev and drivers is target to be deprecated on 18.05.
+  This includes:
 
+  - removal of the conversion in ethdev from new offloading API to old API.
+
+  In later releases the old offloading API between ethdev and applications will be
+  deprecated too, which will include:
   - removal of ``ETH_TXQ_FLAGS_NO*`` flags.
   - removal of ``txq_flags`` field from ``rte_eth_txconf`` struct.
   - removal of the offloads bit-field from ``rte_eth_rxmode`` struct.