When running l2fwd the number of available mbufs returned by rte_mempool_count() starts at 7680 on an idle system.
As traffic commences the count declines from 7680 to 5632 (expected). When traffic stops the count does not climb back to the starting value, indicating that idle mbufs are not returned to the mempool. For the LCORE cache the doc states "While this may mean a number of buffers may sit idle on some core's cache, the speed at which a core can access its own cache for a specific memory pool without locks provides performance gains" which makes sense. Is this also true of ring buffers? We need to understand when packets are released back to the mempool and with l2fwd it appears that they never are, at least not all of them. Thanks!