[dpdk-dev] PCAP memory leak in freeing jumbo frames

Bruce Richardson bruce.richardson at intel.com
Thu Nov 3 11:23:09 CET 2016


On Thu, Nov 03, 2016 at 11:35:14AM +0200, Dror Birkman wrote:
> Hi,
> 
> I have a huge memory leak when I release mbufs allocated
> by eth_pcap_rx_jumbo().
> 
> I use rte_mempool_put_bulk() to release the mbufs.
> To my horror I found out it puts back to the mempool only the head mbuf and
> not its segments!
> 
> I know rte_pktmbuf_free() frees the mbuf and all it segments, but afaik it
> is not thread safe.
> 
> What is the thread safe way to free mbufs (preferably in bulk) and their
> segments?
>
I'm not aware of any thread-safety differences between mempool_put and
pktmbuf_free - which in the end just calls mempool_put for each segment.
For freeing mbufs with multiple segments, I think you'll have to use the
regular mbuf_free function, or write your own special bulk version.

/Bruce


More information about the dev mailing list