Re: [PATCH] arm64: mm: only initialize swiotlb when necessary

2016-06-22 Thread Catalin Marinas
On Tue, Jun 21, 2016 at 10:13:45PM +0200, Arnd Bergmann wrote: > On Tuesday, June 21, 2016 5:06:25 PM CEST Catalin Marinas wrote: > > On Wed, Jun 08, 2016 at 05:49:59PM +0200, Arnd Bergmann wrote: > > > On Wednesday, June 8, 2016 1:08:29 PM CEST Catalin Marinas wrote: > > > > On Wed, Jun 08, 2016 a

Re: [PATCH] arm64: mm: only initialize swiotlb when necessary

2016-06-21 Thread Arnd Bergmann
On Tuesday, June 21, 2016 5:06:25 PM CEST Catalin Marinas wrote: > On Wed, Jun 08, 2016 at 05:49:59PM +0200, Arnd Bergmann wrote: > > On Wednesday, June 8, 2016 1:08:29 PM CEST Catalin Marinas wrote: > > > On Wed, Jun 08, 2016 at 03:53:46PM +0800, Jisheng Zhang wrote: > > > > static int __init arm

Re: [PATCH] arm64: mm: only initialize swiotlb when necessary

2016-06-21 Thread Catalin Marinas
On Wed, Jun 08, 2016 at 05:49:59PM +0200, Arnd Bergmann wrote: > On Wednesday, June 8, 2016 1:08:29 PM CEST Catalin Marinas wrote: > > On Wed, Jun 08, 2016 at 03:53:46PM +0800, Jisheng Zhang wrote: > > > static int __init arm64_dma_init(void) > > > { > > > + if (swiotlb_force || max_pfn > (ar

Re: [PATCH] arm64: mm: only initialize swiotlb when necessary

2016-06-12 Thread Jisheng Zhang
Dear Catalin, On Wed, 8 Jun 2016 13:13:56 +0100 Catalin Marinas wrote: > On Wed, Jun 08, 2016 at 03:53:46PM +0800, Jisheng Zhang wrote: > > --- a/arch/arm64/mm/dma-mapping.c > > +++ b/arch/arm64/mm/dma-mapping.c > > @@ -19,6 +19,7 @@ > > > > #include > > #include > > +#include > > #includ

Re: [PATCH] arm64: mm: only initialize swiotlb when necessary

2016-06-08 Thread Arnd Bergmann
On Wednesday, June 8, 2016 1:08:29 PM CEST Catalin Marinas wrote: > On Wed, Jun 08, 2016 at 03:53:46PM +0800, Jisheng Zhang wrote: > > static int __init arm64_dma_init(void) > > { > > + if (swiotlb_force || max_pfn > (arm64_dma_phys_limit >> PAGE_SHIFT)) > > + swiotlb = 1; > > + >

Re: [PATCH] arm64: mm: only initialize swiotlb when necessary

2016-06-08 Thread Catalin Marinas
On Wed, Jun 08, 2016 at 03:53:46PM +0800, Jisheng Zhang wrote: > --- a/arch/arm64/mm/dma-mapping.c > +++ b/arch/arm64/mm/dma-mapping.c > @@ -19,6 +19,7 @@ > > #include > #include > +#include > #include > #include > #include Why is this include needed? -- Catalin

Re: [PATCH] arm64: mm: only initialize swiotlb when necessary

2016-06-08 Thread Catalin Marinas
On Wed, Jun 08, 2016 at 03:53:46PM +0800, Jisheng Zhang wrote: > static int __init arm64_dma_init(void) > { > + if (swiotlb_force || max_pfn > (arm64_dma_phys_limit >> PAGE_SHIFT)) > + swiotlb = 1; > + > return atomic_pool_init(); > } So any platform with RAM larger than 4

Re: [PATCH] arm64: mm: only initialize swiotlb when necessary

2016-06-08 Thread Jisheng Zhang
Dear all, On Wed, 8 Jun 2016 15:53:46 +0800 Jisheng Zhang wrote: > we only initialize swiotlb when swiotlb_force is true or not all system > memory is DMA-able, this trivial optimization saves us 64MB when > swiotlb is not necessary. another solution is to call swiotlb_free() as ppc does. Either

[PATCH] arm64: mm: only initialize swiotlb when necessary

2016-06-08 Thread Jisheng Zhang
we only initialize swiotlb when swiotlb_force is true or not all system memory is DMA-able, this trivial optimization saves us 64MB when swiotlb is not necessary. Signed-off-by: Jisheng Zhang --- arch/arm64/mm/dma-mapping.c | 15 ++- arch/arm64/mm/init.c| 3 ++- 2 files chan