[Public] Snipped
> > > When freeing transmitted mbufs, there is no reason to send the freed > > > mbufs directly to the ring if the cache is empty - only if it is > > > zero size (in which case the cache pointer is NULL). Therefore, > > > remove the empty check and only check for a null cache pointer. > > > > > > Signed-off-by: Bruce Richardson <bruce.richard...@intel.com> > > > --- > > > drivers/net/intel/common/tx.h | 2 +- > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > diff --git a/drivers/net/intel/common/tx.h > > > b/drivers/net/intel/common/tx.h index d9cf4474fc..d361fe64ab 100644 > > > --- a/drivers/net/intel/common/tx.h > > > +++ b/drivers/net/intel/common/tx.h > > > @@ -143,7 +143,7 @@ ci_tx_free_bufs_vec(struct ci_tx_queue *txq, > > > ci_desc_done_fn desc_done, bool ctx > > > void **cache_objs; > > > struct rte_mempool_cache *cache = > > > rte_mempool_default_cache(mp, rte_lcore_id()); > > > > > > - if (!cache || cache->len == 0) > > > + if (cache == NULL) > > > goto normal; > > > > > > cache_objs = &cache->objs[cache->len]; > > > -- > > > 2.43.0 > > > > Yep, it did look strange. > > Reviewed-by: Morten Brørup <m...@smartsharesystems.com> > > > Applied to dpdk-next-net-intel. Reviewed-by: vipin.vargh...@amd.com Tested-by: thiyagaraja...@amd.com At AMD we tested the code change on the platform `AMD Siena EPYC 8534P using Intel E810 2CQDA2`. - simd: AVX512 - TEST: DPDK-TESTPMD in tx mode - cmd: `./dpdk-testpmd -l 15,16,17 --force-max-simd-bitwidth=512 -a c1:00.0 -a c1:00.1 -- -i --nb-cores=2 --nb-ports=2 --rxq=1 --txq=1 --rxd=1024 --txd=1024 --forward-mode=txonly -a` - Before vs After -- TX-RX Desc 1024, TX-RX 1Q: 117.12, 117.13 -- TX-RX Desc 1024, TX-RX 2Q: 117.13, 117.17 -- TX-RX Desc 2048, TX-RX 1Q: 117.16, 117.18 -- TX-RX Desc 2048, TX-RX 2Q: 117.13, 117.15 > > /Bruce