From mboxrd@z Thu Jan 1 00:00:00 1970 From: Adrien Mazarguil Subject: Re: [PATCH] doc: announce ABI change on ethdev Date: Tue, 9 May 2017 15:40:04 +0200 Message-ID: <20170509134004.GO16218@6wind.com> References: <20170501065812.5185-1-shahafs@mellanox.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: dev@dpdk.org To: Shahaf Shuler , Konstantin Ananyev , Olivier Matz , Tomasz Kulasek Return-path: Received: from mail-wr0-f170.google.com (mail-wr0-f170.google.com [209.85.128.170]) by dpdk.org (Postfix) with ESMTP id 5E6155A8D for ; Tue, 9 May 2017 15:40:11 +0200 (CEST) Received: by mail-wr0-f170.google.com with SMTP id w50so73664243wrc.0 for ; Tue, 09 May 2017 06:40:11 -0700 (PDT) Content-Disposition: inline In-Reply-To: <20170501065812.5185-1-shahafs@mellanox.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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 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 > --- > 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