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

Reply via email to