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