On Tue, Jun 02, 2026 at 06:26:13PM +0200, Morten Brørup wrote:
> > From: Bruce Richardson [mailto:[email protected]]
> > Sent: Tuesday, 2 June 2026 17.45
> > 
> > When the fast-free hint is provided to the driver we know that the
> > mbufs
> > have refcnt of 1 and are from the same mempool. Therefore, we can
> > optimize a bit for this case even in the scalar path of our drivers.
> > 
> > ---
> > v4:
> > * add precursor patch to adjust mbuf pointers so that the DD bit
> >   is written to a descriptor with a valid mbuf pointer associated
> >   with it.
> > 
> > v3:
> > * used mbuf_raw_free_bulk rather than mempool function directly
> > * check for fast_free via mp pointer rather than flags
> > * remove unnecessary prefetches
> > 
> > V2: Fix issues with original submission:
> > * missed check for NULL mbufs
> > * fixed issue with freeing directly from sw_ring in scalar path which
> >   doesn't work as thats not a flag array of pointers
> > * fixed missing null assignment in case of large segments for TSO
> > 
> > 
> > Bruce Richardson (2):
> >   net/intel: write mbuf for last Tx desc of segment
> >   net/intel: optimize for fast-free hint
> > 
> >  drivers/net/intel/common/tx.h        | 21 ++++--
> >  drivers/net/intel/common/tx_scalar.h | 98 +++++++++++++++++++++-------
> >  2 files changed, 90 insertions(+), 29 deletions(-)
> > 
> > --
> > 2.53.0
> 
> Good catch by Ciara, and good solution to it.
> Series-Acked-by: Morten Brørup <[email protected]>
> 
Applied to dpdk-next-net-intel.
Thanks for all the reviews folks. Quick tests on next-net-intel tree with
scalar driver show a nice perf bump from this change.

/Bruce

Reply via email to