[PATCH] examples/ipsec-secgw: fix IPsec performance drop
Ferruh Yigit
ferruh.yigit at amd.com
Tue Feb 6 19:25:20 CET 2024
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 <rbhansali at 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?
More information about the dev
mailing list