On Wed, Jul 30, 2025 at 09:59:52AM +0200, Morten Brørup wrote:
> Ethdev driver maintainers (CC: Ethdev API maintainers),
> 
> Your ethdev drivers support RTE_ETH_TX_OFFLOAD_MBUF_FAST_FREE, and probably 
> call rte_mempool_put_bulk() in the mempool lib when FAST_FREE'ing mbufs, 
> thereby bypassing the mbuf lib.
> The appropriate mbuf lib function is rte_mbuf_raw_free_bulk(), which is a 
> relatively new [1] inline function.
> It's a simple wrapper calling rte_mempool_put_bulk(), with the addition of 
> performing mbuf sanity checks when the appropriate defines are enabled.
> 
> In this context, "the appropriate defines" should be RTE_LIBRTE_MBUF_DEBUG 
> (and not also RTE_ENABLE_ASSERT), so I have provided a patch [2] to fix this.
> 
> Similarly, the relatively new [1] inline function rte_mbuf_raw_alloc_bulk() 
> in the mbuf lib is a wrapper for rte_mempool_get_bulk() in the mempool lib, 
> with added sanity checks (when the appropriate defines are enabled).
> 
> Request 1: Please consider changing your driver to call 
> rte_mbuf_raw_free_bulk() instead of rte_mempool_put_bulk() when FAST_FREE'ing 
> mbufs.
> 
> Request 2: Please consider changing your driver to call 
> rte_mbuf_raw_alloc_bulk() instead of rte_mempool_get_bulk() when allocating 
> mbufs.
> 
For Intel drivers: https://patches.dpdk.org/project/dpdk/list/?series=35995

/Bruce

Reply via email to