[dpdk-dev] [PATCH] doc: announce ABI change on ethdev
Adrien Mazarguil
adrien.mazarguil at 6wind.com
Tue May 9 15:40:04 CEST 2017
On Mon, May 01, 2017 at 09:58:12AM +0300, Shahaf Shuler wrote:
> This is an ABI change notice for DPDK 17.08 in librte_ether
> about changes in rte_eth_txmode structure.
>
> Currently Tx offloads are enabled by default, and can be disabled
> using ETH_TXQ_FLAGS_NO* flags. This behaviour is not consistent with
> the Rx side where the Rx offloads are disabled by default and enabled
> according to bit field in rte_eth_rxmode structure.
>
> The proposal is to disable the Tx offloads by default, and provide
> a way for the application to enable them in rte_eth_txmode structure.
> Besides of making the Tx configuration API more consistent for
> applications, PMDs will be able to provide a better out of the
> box performance.
> Finally, as part of the work, the ETH_TXQ_FLAGS_NO* will
> be superseded as well.
>
> Signed-off-by: Shahaf Shuler <shahafs at mellanox.com>
Basically, TX mbuf flags like TSO and checksum offloads won't have to be
honored by PMDs unless applications request them first while configuring the
device, just like RX offloads.
Considering more and more TX offloads will be added over time, I do not
think expecting them all to be enabled by default is sane. There will always
be an associated software cost in PMDs, and this solution allows
applications to selectively enable them as needed for maximum performance.
Konstantin/Olivier/Tomasz, I do not want to resume the thread about
tx_prepare(), however this could provide an alternative means to benefit
from improved performance when applications do not need TSO (or any other
offload for that matter), while adding consistency to device configuration.
What's your opinion?
In any case I'm fine with this change:
Acked-by: Adrien Mazarguil <adrien.mazarguil at 6wind.com>
> ---
> doc/guides/rel_notes/deprecation.rst | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
> index a3e7c720c..0920b4766 100644
> --- a/doc/guides/rel_notes/deprecation.rst
> +++ b/doc/guides/rel_notes/deprecation.rst
> @@ -81,3 +81,11 @@ Deprecation Notices
>
> - ``rte_crpytodev_scheduler_mode_get``, replaced by ``rte_cryptodev_scheduler_mode_get``
> - ``rte_crpytodev_scheduler_mode_set``, replaced by ``rte_cryptodev_scheduler_mode_set``
> +
> +* ethdev: in 17.08 ABI changes are planned:
> + Tx offloads will no longer be enabled by default.
> + Instead, the ``rte_eth_txmode`` structure will be extended with bit field to enable
> + each Tx offload.
> + Besides of making the Rx/Tx configuration API more consistent for the
> + application, PMDs will be able to provide a better out of the box performance.
> + as part of the work, ``ETH_TXQ_FLAGS_NO*`` will be superseded as well.
> --
> 2.12.0
>
--
Adrien Mazarguil
6WIND
More information about the dev
mailing list