* [PATCH net] octeontx2: use GFP_ATOMIC for QMEM dma_alloc_attrs
@ 2026-08-20 8:53 Ratheesh Kannoth
0 siblings, 0 replies; only message in thread
From: Ratheesh Kannoth @ 2026-08-20 8:53 UTC (permalink / raw)
To: davem, gakula, linux-kernel, netdev, sgoutham
Cc: andrew+netdev, edumazet, kuba, pabeni, Ratheesh Kannoth
From: Sunil Goutham <sgoutham@marvell.com>
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 <sgoutham@marvell.com>
Signed-off-by: Ratheesh Kannoth <rkannoth@marvell.com>
---
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
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2026-08-20 8:54 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-20 8:53 [PATCH net] octeontx2: use GFP_ATOMIC for QMEM dma_alloc_attrs Ratheesh Kannoth
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox