On Mon, 8 May 2023 09:01:41 +0300 Yasin CANER <[email protected]> wrote:
> Hello Stephen, > > Thank you for response, it helps me a lot. I understand problem better. > > After reading mbuf library ( > https://doc.dpdk.org/guides/prog_guide/mempool_lib.html) i realized that > 31 units allocation memory slot doesn't return to pool! If receive burst returns 1 mbuf, the other 31 pointers in the array are not valid. They do not point to mbufs. > 1 unit mbuf can be freed via rte_pktmbuf_free so it can back to pool. > > Main problem is that allocation doesn't return to original pool, act as > used. So, after following rte_pktmbuf_free > <http://doc.dpdk.org/api/rte__mbuf_8h.html#a1215458932900b7cd5192326fa4a6902> > function, > i realized that there is 2 function to helps to mbufs back to pool. > > These are rte_mbuf_raw_free > <http://doc.dpdk.org/api/rte__mbuf_8h.html#a9f188d53834978aca01ea101576d7432> > and rte_pktmbuf_free_seg > <http://doc.dpdk.org/api/rte__mbuf_8h.html#a006ee80357a78fbb9ada2b0432f82f37>. > I will focus on them. > > If there is another suggestion, I will be very pleased. > > Best regards. > > Yasin CANER > Ulak
