On Wed, 11 Sep 2019 09:19:08 +0000 Morten Brørup <m...@smartsharesystems.com> wrote:
> Add function for freeing a bulk of mbufs. > > Signed-off-by: Morten Brørup <m...@smartsharesystems.com> > --- > lib/librte_mbuf/rte_mbuf.h | 17 +++++++++++++++++ > 1 file changed, 17 insertions(+) > > diff --git a/lib/librte_mbuf/rte_mbuf.h b/lib/librte_mbuf/rte_mbuf.h > index 98225ec80..f2e174da1 100644 > --- a/lib/librte_mbuf/rte_mbuf.h > +++ b/lib/librte_mbuf/rte_mbuf.h > @@ -1907,6 +1907,23 @@ static inline void rte_pktmbuf_free(struct rte_mbuf *m) > } > } > > +/** > + * Free a bulk of mbufs back into their original mempool. > + * > + * @param mbufs > + * Array of pointers to mbufs > + * @param count > + * Array size > + */ > +static inline void > +rte_pktmbuf_free_bulk(struct rte_mbuf **mbufs, unsigned count) > +{ > + unsigned idx = 0; > + > + for (idx = 0; idx < count; idx++) > + rte_pktmbuf_free(mbufs[idx]); > +} > + You can optimize this to use mempool bulk put operation.