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

