28/08/2017 07:00, Jerin Jacob:
> From: Shahaf Shuler <shah...@mellanox.com>
> > Friday, August 25, 2017 1:32 PM, Jerin Jacob:
> > > >
> > > > The new API does not have an equivalent for the below Tx flags:
> > > >
> > > > * ETH_TXQ_FLAGS_NOREFCOUNT
> > > > * ETH_TXQ_FLAGS_NOMULTMEMP
> > > 
> > > IMO, it make sense to keep those flags as PMD optimization if an 
> > > application
> > > does not need reference count and multi mempool in the application.
> > > As example, An non trivial application like l3fwd does not need both of 
> > > them.
> > 
> > The l3fwd application is yet another simple example from DPDK tree. Am not 
> > sure that a complete vRouter/vSwitch implementation is with the same 
> > characteristics.
> 
> But not all dpdk applications are complete vRouter/vSwitch implementation.
> 
> > Moreover, I think the fact there is an application which is able to use it 
> > is not enough.  IMO there needs to be some basic functionality always 
> > provided by the PMDs and not controlled by flags.
> > For example, let's say we have an application which always sends the mbufs 
> > with the same ol_flags, or even with the same length.
> 
> Does ETH_TXQ_FLAGS_NOREFCOUNT comes in same category like mbuf->ol_flags?
> 
> > Will it make sense to add more flags to control it?
> > Will it makes sense to run RFC2544 benchmark with testpmd io forwarding 
> > with those flags? 
> > 
> > If the answer is yes, maybe those flags (and others to follow) belong on 
> > different location on ethdev. However for sure they are not offloads.
> 
> I am not sure about the reason for opting out mempool related flags.
> In the context of HW assisted external mempool managers, Enabling reference 
> count is an offload
> from Ethernet device.
> For example, with external HW assisted mempool, ethdev driver needs to
> have different way of forming TXQ descriptor in case if reference count
> is enabled(as, in the case of HW assisted mempool managers, bu default,
> HW frees the packet on send)
> 
> I am fine with moving the flags to some where else if it is make sense to 
> you.But
> from PMD optimization perspective, I think it is important have these flags.

Why not.
Please Jerin, could you work on moving these settings in a new API?
We can have a function to enable such optimizations.
However I am not sure ethdev is the right place as these hints apply
to any mbuf.
Other related question: what happens if other libraries manipulate
these mbufs with special optimization hints? Should they be aware?

Reply via email to