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

Shahaf Shuler shahafs at mellanox.com
Tue Sep 12 10:03:31 CEST 2017


Tuesday, September 12, 2017 10:18 AM, Jerin Jacob:
> > Tuesday, September 12, 2017 8:52 AM, Jerin Jacob:
> > > > I understand the use case, and the fact those flags improve the
> > > performance on low-end ARM CPUs.
> > > > IMO those flags cannot be on queue/port level. They must be global.
> > >
> > > Where should we have it as global(in terms of API)?
> > > And why it can not be at port level?
> >
> > Because I don't think there is a use-case that application would want to
> have recounting on one port and not on the other. It is either application
> clone/not clone mbufs.
> > Same about the multi mempool. It is either application have it or not.
> 
> Why not? If a port is given to data plane and another port to control plane. It
> can have different characteristics.
> 
> Making it port level, we can achieve the global use case as well. but not
> another way around.
> 
> MULTISEG flag also has the same attribute. But some reason you are OK to
> include that in flags.
> 
> >
> > If there is a strong use-case for application to say on port X it clones mbufs
> and and port Y it don't then maybe this is enough to have it per-port.
> > We can go even further - why not to have guarantee per queue? it is
> possible if application is willing to manage.
> >
> > Again those are not offloads, therefore if we expose those this should on
> different location the offloads field on eth conf.
> 
> What is the definition of offload? It is something we can offload to HW.
> If so, then, reference count we can offload to HW with external HW pool
> manager which DPDK has support now.

OK, well understood the requirement for such flags. Thanks for your replies.

I think that for simplicity I will add two more flags on the Tx offloads capabilities:

DEV_TX_OFFLOADS _MULTI_MEMPOOL <** Device supports transmission of mbufs from multiple mempools. */
DEV_TX_OFFLOADS_INDIRECT_MBUFS <** Device support transmission of indirect mbufs. */

Those caps can be reported by the PMD as per-port/per-queue offloads. Application will choose how to set those. When not set - PMD can assume all mbufs has ref_cnt = 1 and the same mempool.

Any objection? 



More information about the dev mailing list