Hi Javier, Please see below. On Fri, Apr 15, 2016 at 10:34 AM, Javier Coleto Fern?ndez <javicoleto44 at gmail.com> wrote: > The problem I'm facing is my mbuf free count (as given by > rte_mempool_free_count()) keeps increasing and tops at ~8130. Being 8192 > the size of the mempool, that stops the packet processing and my > application stops forwarding.
Try rte_ring_count(mempool->ring) instead of rte_mempool_free_count(). The latter adds cached mbufs, hence might be the difference 8192 vs 8130. > Any clues about what I could do to liberate the free mbufs back to the > mempool? Try to increase the number of mbufs in the mempool. There might be two cases: 1. For whatever mempool size you always lack mbufs -> it is an mbuf leak, so you have to find and fix it. 2. Number of free mbufs stabilizes at some point -> you could either increase the mempool size to accommodate that usage or reduce the caches/descriptors/thresholds. Andriy
