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

Arnd Bergmann arnd at arndb.de
Sat Sep 17 16:52:38 EDT 2011


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.
> 
> Those patches are also available in the following repository:
> 
>         git://git.linaro.org/people/nico/linux vmalloc

Hi Nicolas,

I like the series a lot. I had planned to work on this myself, but
I guess you did a better job than I could have anyway.

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.

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.

	Arnd



More information about the linux-arm-kernel mailing list