* [PATCH net] octeontx2-af: Fix QMEM struct memory allocation
@ 2023-01-03 4:09 Geetha sowjanya
2023-01-03 9:00 ` Pavan Chebbi
2023-01-03 10:05 ` Leon Romanovsky
0 siblings, 2 replies; 4+ messages in thread
From: Geetha sowjanya @ 2023-01-03 4:09 UTC (permalink / raw)
To: netdev, linux-kernel
Cc: kuba, pabeni, davem, edumazet, sbhatta, hkelam, gakula, sgoutham
Currently NIX, NPA queue context memory is being allocated using
GFP_KERNEL flag which inturns allocates from memory reserved for
CMA_DMA. Sizing CMA_DMA memory is getting difficult due to this
dependency, the more number of interfaces enabled the more the
CMA_DMA memory requirement.
To address this issue, GFP_KERNEL flag is replaced with GFP_ATOMIC,
with this memory will be allocated from unreserved memory.
Fixes: 7a37245ef23f ("octeontx2-af: NPA block admin queue init")
Signed-off-by: Sunil Goutham <sgoutham@marvell.com>
Signed-off-by: Geetha sowjanya <gakula@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 8931864ee110..4b4be9ca4d2f 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.25.1
^ permalink raw reply related [flat|nested] 4+ messages in thread* Re: [PATCH net] octeontx2-af: Fix QMEM struct memory allocation
2023-01-03 4:09 [PATCH net] octeontx2-af: Fix QMEM struct memory allocation Geetha sowjanya
@ 2023-01-03 9:00 ` Pavan Chebbi
2023-01-03 10:05 ` Leon Romanovsky
1 sibling, 0 replies; 4+ messages in thread
From: Pavan Chebbi @ 2023-01-03 9:00 UTC (permalink / raw)
To: Geetha sowjanya
Cc: netdev, linux-kernel, kuba, pabeni, davem, edumazet, sbhatta,
hkelam, sgoutham
[-- Attachment #1: Type: text/plain, Size: 1762 bytes --]
On Tue, Jan 3, 2023 at 9:39 AM Geetha sowjanya <gakula@marvell.com> wrote:
>
> Currently NIX, NPA queue context memory is being allocated using
> GFP_KERNEL flag which inturns allocates from memory reserved for
> CMA_DMA. Sizing CMA_DMA memory is getting difficult due to this
> dependency, the more number of interfaces enabled the more the
> CMA_DMA memory requirement.
>
> To address this issue, GFP_KERNEL flag is replaced with GFP_ATOMIC,
> with this memory will be allocated from unreserved memory.
>
> Fixes: 7a37245ef23f ("octeontx2-af: NPA block admin queue init")
> Signed-off-by: Sunil Goutham <sgoutham@marvell.com>
> Signed-off-by: Geetha sowjanya <gakula@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 8931864ee110..4b4be9ca4d2f 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);
I am not understanding the problem this change is solving. Can you
describe the issue in some detail?
What do you mean when you say GFP_ATOMIC allocates the memory from
unreserved memory?
> if (!qmem->base)
> return -ENOMEM;
>
> --
> 2.25.1
>
[-- Attachment #2: S/MIME Cryptographic Signature --]
[-- Type: application/pkcs7-signature, Size: 4209 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [PATCH net] octeontx2-af: Fix QMEM struct memory allocation
2023-01-03 4:09 [PATCH net] octeontx2-af: Fix QMEM struct memory allocation Geetha sowjanya
2023-01-03 9:00 ` Pavan Chebbi
@ 2023-01-03 10:05 ` Leon Romanovsky
2023-01-04 3:13 ` Jakub Kicinski
1 sibling, 1 reply; 4+ messages in thread
From: Leon Romanovsky @ 2023-01-03 10:05 UTC (permalink / raw)
To: Geetha sowjanya
Cc: netdev, linux-kernel, kuba, pabeni, davem, edumazet, sbhatta,
hkelam, sgoutham
On Tue, Jan 03, 2023 at 09:39:17AM +0530, Geetha sowjanya wrote:
> Currently NIX, NPA queue context memory is being allocated using
> GFP_KERNEL flag which inturns allocates from memory reserved for
> CMA_DMA. Sizing CMA_DMA memory is getting difficult due to this
> dependency, the more number of interfaces enabled the more the
> CMA_DMA memory requirement.
>
> To address this issue, GFP_KERNEL flag is replaced with GFP_ATOMIC,
> with this memory will be allocated from unreserved memory.
No, GFP_ATOMIC is for memory allocations in atomic context and not for
separation between reserved and unreserved memory.
There is no any explanation to use GFP_ATOMIC except being in atomic
context.
Thanks
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH net] octeontx2-af: Fix QMEM struct memory allocation
2023-01-03 10:05 ` Leon Romanovsky
@ 2023-01-04 3:13 ` Jakub Kicinski
0 siblings, 0 replies; 4+ messages in thread
From: Jakub Kicinski @ 2023-01-04 3:13 UTC (permalink / raw)
To: Geetha sowjanya
Cc: Leon Romanovsky, netdev, linux-kernel, pabeni, davem, edumazet,
sbhatta, hkelam, sgoutham
On Tue, 3 Jan 2023 12:05:51 +0200 Leon Romanovsky wrote:
> No, GFP_ATOMIC is for memory allocations in atomic context and not for
> separation between reserved and unreserved memory.
Indeed, using ATOMIC to avoid CMA seems like an odd hack.
I haven't encountered this before.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2023-01-04 3:14 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-01-03 4:09 [PATCH net] octeontx2-af: Fix QMEM struct memory allocation Geetha sowjanya
2023-01-03 9:00 ` Pavan Chebbi
2023-01-03 10:05 ` Leon Romanovsky
2023-01-04 3:13 ` Jakub Kicinski
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).