[dpdk-dev] [PATCH v2 2/2] ethdev: introduce Tx queue offloads API

Jerin Jacob jerin.jacob at caviumnetworks.com
Mon Sep 11 08:21:20 CEST 2017


-----Original Message-----
> Date: Mon, 11 Sep 2017 05:52:19 +0000
> From: Shahaf Shuler <shahafs at mellanox.com>
> To: Stephen Hemminger <stephen at networkplumber.org>
> CC: Thomas Monjalon <thomas at monjalon.net>, "dev at dpdk.org" <dev at dpdk.org>
> Subject: Re: [dpdk-dev] [PATCH v2 2/2] ethdev: introduce Tx queue offloads
>  API
> 
> Sunday, September 10, 2017 8:48 PM, Stephen Hemminger:
> > 
> > On Sun, 10 Sep 2017 15:07:49 +0300
> > Shahaf Shuler <shahafs at mellanox.com> wrote:
> > 
> > > Introduce a new API to configure Tx offloads.
> > >
> > > In the new API, offloads are divided into per-port and per-queue
> > > offloads. The PMD reports capability for each of them.
> > > Offloads are enabled using the existing DEV_TX_OFFLOAD_* flags.
> > > To enable per-port offload, the offload should be set on both device
> > > configuration and queue configuration. To enable per-queue offload,
> > > the offloads can be set only on queue configuration.
> > >
> > > In addition the Tx offloads will be disabled by default and be enabled
> > > per application needs. This will much simplify PMD management of the
> > > different offloads.
> > >
> > > The new API does not have an equivalent for the below, benchmark
> > > specific, flags:
> > >
> > > 	- ETH_TXQ_FLAGS_NOREFCOUNT
> > > 	- ETH_TXQ_FLAGS_NOMULTMEMP
> > >
> > > Applications should set the ETH_TXQ_FLAGS_IGNORE flag on txq_flags
> > > field in order to move to the new API.
> > >
> > > The old Tx offloads API is kept for the meanwhile, in order to enable
> > > a smooth transition for PMDs and application to the new API.
> > >
> > > Signed-off-by: Shahaf Shuler <shahafs at mellanox.com>
> > > ---
> > 
> > Agree on a conceptual and hardware level, that this is a property that could
> > be per queue. But is there really an application that would want to have
> > refcounting on one queue and not another?  If application is cloning mbuf's it
> > needs refcounting.  One could even argue that for safety these should be
> > library wide.  That way if an application tried to manipulate ref count on an
> > mbuf and refcountin was enabled it could be panic'd.
> 
> Actually the refcount and multi mempool flags has no equivalent on this new API. They are not counted as offloads rather some guarantees from application side, which I agree that probably needs to by library wide. 
> In the current API you cannot set those per queue nor per port. I think there is intention to move those flags to some other location following this series [1]

I don't think that is in following this series. It should be in this
series, if we are removing a feature then we should find a way to fit that in
some location as there is a use case for it[1]. Without an alternative,
this patch is NACK from me.

[1]
http://dpdk.org/ml/archives/dev/2017-September/074475.html

> 
> [1]
> http://dpdk.org/ml/archives/dev/2017-September/074475.html
> 
> 
> 


More information about the dev mailing list