iommu.lists.linux-foundation.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] dma: Per-NUMA-node CMA should depend on NUMA
@ 2020-10-26 12:24 Robin Murphy
  2020-10-26 20:07 ` Song Bao Hua (Barry Song)
  0 siblings, 1 reply; 4+ messages in thread
From: Robin Murphy @ 2020-10-26 12:24 UTC (permalink / raw)
  To: hch; +Cc: iommu, linux-kernel

Offering DMA_PERNUMA_CMA to non-NUMA configs is pointless.

Signed-off-by: Robin Murphy <robin.murphy@arm.com>
---
 kernel/dma/Kconfig | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/kernel/dma/Kconfig b/kernel/dma/Kconfig
index c99de4a21458..964b74c9b7e3 100644
--- a/kernel/dma/Kconfig
+++ b/kernel/dma/Kconfig
@@ -125,7 +125,8 @@ if  DMA_CMA
 
 config DMA_PERNUMA_CMA
 	bool "Enable separate DMA Contiguous Memory Area for each NUMA Node"
-	default NUMA && ARM64
+	depends on NUMA
+	default ARM64
 	help
 	  Enable this option to get pernuma CMA areas so that devices like
 	  ARM64 SMMU can get local memory by DMA coherent APIs.
-- 
2.28.0.dirty

_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* RE: [PATCH] dma: Per-NUMA-node CMA should depend on NUMA
  2020-10-26 12:24 [PATCH] dma: Per-NUMA-node CMA should depend on NUMA Robin Murphy
@ 2020-10-26 20:07 ` Song Bao Hua (Barry Song)
  2020-10-27  7:54   ` hch
  0 siblings, 1 reply; 4+ messages in thread
From: Song Bao Hua (Barry Song) @ 2020-10-26 20:07 UTC (permalink / raw)
  To: Robin Murphy, hch; +Cc: iommu, linux-kernel



> -----Original Message-----
> From: Robin Murphy [mailto:robin.murphy@arm.com]
> Sent: Tuesday, October 27, 2020 1:25 AM
> To: hch@lst.de
> Cc: iommu@lists.linux-foundation.org; linux-kernel@vger.kernel.org; Song Bao
> Hua (Barry Song) <song.bao.hua@hisilicon.com>
> Subject: [PATCH] dma: Per-NUMA-node CMA should depend on NUMA
> 
> Offering DMA_PERNUMA_CMA to non-NUMA configs is pointless.
> 

This is right.

> Signed-off-by: Robin Murphy <robin.murphy@arm.com>
> ---
>  kernel/dma/Kconfig | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/kernel/dma/Kconfig b/kernel/dma/Kconfig
> index c99de4a21458..964b74c9b7e3 100644
> --- a/kernel/dma/Kconfig
> +++ b/kernel/dma/Kconfig
> @@ -125,7 +125,8 @@ if  DMA_CMA
> 
>  config DMA_PERNUMA_CMA
>  	bool "Enable separate DMA Contiguous Memory Area for each NUMA
> Node"
> -	default NUMA && ARM64
> +	depends on NUMA
> +	default ARM64

On the other hand, at this moment, only ARM64 is calling the init code
to get per_numa cma. Do we need to
depends on NUMA && ARM64 ?
so that this is not enabled by non-arm64?

>  	help
>  	  Enable this option to get pernuma CMA areas so that devices like
>  	  ARM64 SMMU can get local memory by DMA coherent APIs.
> --
 
Thanks
Barry


_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] dma: Per-NUMA-node CMA should depend on NUMA
  2020-10-26 20:07 ` Song Bao Hua (Barry Song)
@ 2020-10-27  7:54   ` hch
  2020-10-27  8:22     ` Song Bao Hua (Barry Song)
  0 siblings, 1 reply; 4+ messages in thread
From: hch @ 2020-10-27  7:54 UTC (permalink / raw)
  To: Song Bao Hua (Barry Song); +Cc: iommu, Robin Murphy, hch, linux-kernel

On Mon, Oct 26, 2020 at 08:07:43PM +0000, Song Bao Hua (Barry Song) wrote:
> > diff --git a/kernel/dma/Kconfig b/kernel/dma/Kconfig
> > index c99de4a21458..964b74c9b7e3 100644
> > --- a/kernel/dma/Kconfig
> > +++ b/kernel/dma/Kconfig
> > @@ -125,7 +125,8 @@ if  DMA_CMA
> > 
> >  config DMA_PERNUMA_CMA
> >  	bool "Enable separate DMA Contiguous Memory Area for each NUMA
> > Node"
> > -	default NUMA && ARM64
> > +	depends on NUMA
> > +	default ARM64
> 
> On the other hand, at this moment, only ARM64 is calling the init code
> to get per_numa cma. Do we need to
> depends on NUMA && ARM64 ?
> so that this is not enabled by non-arm64?

I actually hate having arch symbols in common code.  A new
ARCH_HAS_DMA_PERNUMA_CMA, only selected by arm64 for now would be more
clean I think.
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

^ permalink raw reply	[flat|nested] 4+ messages in thread

* RE: [PATCH] dma: Per-NUMA-node CMA should depend on NUMA
  2020-10-27  7:54   ` hch
@ 2020-10-27  8:22     ` Song Bao Hua (Barry Song)
  0 siblings, 0 replies; 4+ messages in thread
From: Song Bao Hua (Barry Song) @ 2020-10-27  8:22 UTC (permalink / raw)
  To: hch, will; +Cc: iommu, Robin Murphy, linux-kernel, Linuxarm



> -----Original Message-----
> From: hch@lst.de [mailto:hch@lst.de]
> Sent: Tuesday, October 27, 2020 8:55 PM
> To: Song Bao Hua (Barry Song) <song.bao.hua@hisilicon.com>
> Cc: Robin Murphy <robin.murphy@arm.com>; hch@lst.de;
> iommu@lists.linux-foundation.org; linux-kernel@vger.kernel.org
> Subject: Re: [PATCH] dma: Per-NUMA-node CMA should depend on NUMA
> 
> On Mon, Oct 26, 2020 at 08:07:43PM +0000, Song Bao Hua (Barry Song)
> wrote:
> > > diff --git a/kernel/dma/Kconfig b/kernel/dma/Kconfig
> > > index c99de4a21458..964b74c9b7e3 100644
> > > --- a/kernel/dma/Kconfig
> > > +++ b/kernel/dma/Kconfig
> > > @@ -125,7 +125,8 @@ if  DMA_CMA
> > >
> > >  config DMA_PERNUMA_CMA
> > >  	bool "Enable separate DMA Contiguous Memory Area for each NUMA
> > > Node"
> > > -	default NUMA && ARM64
> > > +	depends on NUMA
> > > +	default ARM64
> >
> > On the other hand, at this moment, only ARM64 is calling the init code
> > to get per_numa cma. Do we need to
> > depends on NUMA && ARM64 ?
> > so that this is not enabled by non-arm64?
> 
> I actually hate having arch symbols in common code.  A new
> ARCH_HAS_DMA_PERNUMA_CMA, only selected by arm64 for now would be
> more
> clean I think.

Sounds good to me.

BTW,  +Will.

Last time we talked about default pernuma cma size, you suggested a bootargs
in arch/arm64/Kconfig but Will seems to have different idea. Am I right, Will?

Would we let aarch64 call dma_pernuma_cma_reserve(16MB) rather than
dma_pernuma_cma_reserve()?

In this way, users will at least get a default pernuma CMA which is required
at least by IOMMU. If users set a "cma_pernuma" bootargs, it will overwrite
the default size from aarch64 code?

I mean

- void __init dma_pernuma_cma_reserve(size_t size)
+ void __init dma_pernuma_cma_reserve(size_t size)
{
	if (!pernuma_size_bytes)
+		pernuma_size_bytes = size;
	....
}

Right now, it is easy that users will forget to set cma_pernuma in bootargs.
Probably this feature is not enabled by users.

Thanks
Barry
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2020-10-27  8:23 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-26 12:24 [PATCH] dma: Per-NUMA-node CMA should depend on NUMA Robin Murphy
2020-10-26 20:07 ` Song Bao Hua (Barry Song)
2020-10-27  7:54   ` hch
2020-10-27  8:22     ` Song Bao Hua (Barry Song)

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).