Skip to content

Commit

Permalink
OMAP: DSS: VRAM: Align start & size of vram to 2M
Browse files Browse the repository at this point in the history
Align the start address and size of VRAM area to 2M as per comments from
Russell King:

> > So, why SZ_2M?
>
> Firstly, that's the granularity which we allocate page tables - one
> Linux page table covers 2MB of memory.  We want to avoid creating page
> tables for the main memory mapping as that increases TLB pressure through
> the use of additional TLB entries, and more page table walks.
>
> Plus, we never used to allow the kernel's direct memory mapping to be
> mapped at anything less than section size - this restriction has since
> been lifted due to OMAP SRAM problems, but I'd rather we stuck with it
> to ensure that we have proper behaviour from all parts of the system.
>
> Secondly, we don't want to end up with lots of fragmentation at the end
> of the memory mapping as that'll reduce performance, not only by making
> the pfn_valid() search more expensive.
>
> Emsuring a minimum allocation size and alignment makes sure that the
> regions can be coalesced together into one block, and minimises run-time
> expenses.
>
> So please, 2MB, or if you object, at the _very_ _least_ 1MB.  But
> definitely not PAGE_SIZE.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
Acked-by: Tony Lindgren <tony@atomide.com>
  • Loading branch information
Tomi Valkeinen committed Dec 15, 2010
1 parent cf7d7e5 commit 4422c04
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions drivers/video/omap2/vram.c
Original file line number Diff line number Diff line change
Expand Up @@ -551,7 +551,7 @@ void __init omap_vram_reserve_sdram_memblock(void)
if (!size)
return;

size = PAGE_ALIGN(size);
size = ALIGN(size, SZ_2M);

if (paddr) {
if (paddr & ~PAGE_MASK) {
Expand All @@ -576,7 +576,7 @@ void __init omap_vram_reserve_sdram_memblock(void)
return;
}
} else {
paddr = memblock_alloc(size, PAGE_SIZE);
paddr = memblock_alloc(size, SZ_2M);
}

memblock_free(paddr, size);
Expand Down

0 comments on commit 4422c04

Please sign in to comment.