Re: [PATCH net] octeontx2: use GFP_ATOMIC for QMEM dma_alloc_attrs

Ratheesh Kannoth <[email protected]>
Newsgroups org.kernel.vger.netdev,org.kernel.vger.linux-kernel
Message-ID <aovkoPmDb3rZXDTA@rkannoth-OptiPlex-7090>
On 2026-08-20 at 14:23:47, Ratheesh Kannoth ([email protected]) wrote:
> From: Sunil Goutham <[email protected]>
>
> Queue context memory for NIX/NPA and other qmem_alloc() users in the
> AF and NIC drivers is allocated via dma_alloc_attrs() with
> GFP_KERNEL. On platforms with CMA enabled, each attached interface can
> consume a large contiguous allocation from the CMA pool, making CMA
> sizing grow with the number of enabled interfaces.
>
> Use GFP_ATOMIC for the DMA backing allocation in qmem_alloc() to reduce
> pressure on the CMA pool when many interfaces are enabled.
>
> Fixes: 73d33dbc0723 ("octeontx2-af: Use DMA_ATTR_FORCE_CONTIGUOUS attribute in DMA alloc")
> Signed-off-by: Sunil Goutham <[email protected]>
> Signed-off-by: Ratheesh Kannoth <[email protected]>
> ---
>  drivers/net/ethernet/marvell/octeontx2/af/common.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/ethernet/marvell/octeontx2/af/common.h b/drivers/net/ethernet/marvell/octeontx2/af/common.h
> index 779413a383b7..ff5d66dd10f3 100644
> --- a/drivers/net/ethernet/marvell/octeontx2/af/common.h
> +++ b/drivers/net/ethernet/marvell/octeontx2/af/common.h
> @@ -61,7 +61,7 @@ static inline int qmem_alloc(struct device *dev, struct qmem **q,
>  	qmem->entry_sz = entry_sz;
>  	qmem->alloc_sz = (qsize * entry_sz) + OTX2_ALIGN;
>  	qmem->base = dma_alloc_attrs(dev, qmem->alloc_sz, &qmem->iova,
> -				     GFP_KERNEL, DMA_ATTR_FORCE_CONTIGUOUS);
> +				     GFP_ATOMIC, DMA_ATTR_FORCE_CONTIGUOUS);
>  	if (!qmem->base)
>  		return -ENOMEM;
>
> --
> 2.43.0
>

Will address sashiko comments in v2

pw-bot: changes-requested
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.