[PATCH 0/19] removal of mach/vmalloc.h and generic optimizations

Arnd Bergmann arnd at arndb.de
Sun Sep 18 04:40:37 EDT 2011


On Saturday 17 September 2011 22:46:33 Nicolas Pitre wrote:
> On Sat, 17 Sep 2011, Arnd Bergmann wrote:
> 
> > On Friday 16 September 2011 03:07:11 Nicolas Pitre wrote:
> > > This patch series removes all instances of mach/vmalloc.h in order to
> > > have a more unified memory map across all ARM architectures.  To do so,
> > > the static mappings are moved inside the vmalloc area.  And finally this
> > > allows for a generic optimization to ioremap where static mappings are
> > > reused whenever possible, using common code instead of having this
> > > duplicated in a couple places.
> > > 
> > > This also provides a net reduction of more than 1200 lines of code.

> 
> > Doing some randconfig tests, I noticed that your series is currently broken
> > on shmobile, which triggers a 
> > 
> > 	BUILD_BUG_ON(VMALLOC_END > CONSISTENT_BASE);
> > 
> > in mem_init(), because the platform has a CONSISTENT_DMA_SIZE of 158MB.
> > All other platforms have a CONSISTENT_DMA_SIZE of at most 14MB, which
> > works correctly.
> 
> Any idea why shmobile requires such an amount of consistent memory?

No, I couldn't find anything in the code or the changelog why this was
done. Magnus changed it in this commit:

commit 28f0721a79046056ced3b9bd79c319c5c417ec30
Author: Magnus Damm <damm at opensource.se>
Date:   Wed Apr 28 08:25:30 2010 +0000

    ARM: mach-shmobile: Set CONSISTENT_DMA_SIZE to 158 MB
    
    This patch sets CONSISTENT_DMA_SIZE to 158 MB
    for all SH-Mobile ARM processors.
    
    The DMA area is mapped at 0xf6000000 - 0xffdfffff,
    on top of the 256 MB I/O window at 0xe6000000.
    
    Signed-off-by: Magnus Damm <damm at opensource.se>
    Signed-off-by: Paul Mundt <lethal at linux-sh.org>

Maybe he can give a better explanation and can say whether it's
actually required. The patch series introducing it contained
the introduction of the shdma dmaengine driver and some changes
to video drivers, but I could not tell how they are related
to this change.

> > My feeling is that a 158MB CONSISTENT_DMA_SIZE causes other problems
> > anyway because we cannot map regular RAM both cached and uncached,
> > but this is still a regression. The problem might be solved using
> > Marek's CMA patches, which should eliminate the need for a huge
> > CONSISTENT_DMA_SIZE.
> 
> Maybe.  However I don't want for this series to depend on CMA.  I'll 
> find some temporary hack in the mean time.

Ok

	Arnd



More information about the linux-arm-kernel mailing list