On 2/6/2024 12:38 PM, Rahul Bhansali wrote: > Single packet free using rte_pktmbuf_free_bulk() is dropping the > performance. On cn10k, maximum of ~4% drop observed for IPsec > event mode single SA outbound case. > > To fix this issue, single packet free will use rte_pktmbuf_free > API. > > Fixes: bd7c063561b3 ("examples/ipsec-secgw: use bulk free") > > Signed-off-by: Rahul Bhansali <rbhans...@marvell.com> > --- > examples/ipsec-secgw/ipsec-secgw.h | 7 +++---- > 1 file changed, 3 insertions(+), 4 deletions(-) > > diff --git a/examples/ipsec-secgw/ipsec-secgw.h > b/examples/ipsec-secgw/ipsec-secgw.h > index 8baab44ee7..ec33a982df 100644 > --- a/examples/ipsec-secgw/ipsec-secgw.h > +++ b/examples/ipsec-secgw/ipsec-secgw.h > @@ -229,11 +229,10 @@ free_reassembly_fail_pkt(struct rte_mbuf *mb) > } > > /* helper routine to free bulk of packets */ > -static inline void > -free_pkts(struct rte_mbuf *mb[], uint32_t n) > +static __rte_always_inline void > +free_pkts(struct rte_mbuf *mb[], const uint32_t n) > { > - rte_pktmbuf_free_bulk(mb, n); > - > + n == 1 ? rte_pktmbuf_free(mb[0]) : rte_pktmbuf_free_bulk(mb, n); > core_stats_update_drop(n); > } >
Hi Rahul, Do you think the 'rte_pktmbuf_free_bulk()' API performance can be improved by similar change?