[PATCH] Dynamic hugepage addresses for ppc64
authorDavid Gibson <david@gibson.dropbear.id.au>
Thu, 11 Aug 2005 06:55:21 +0000 (16:55 +1000)
committerPaul Mackerras <paulus@samba.org>
Mon, 29 Aug 2005 00:53:38 +0000 (10:53 +1000)
commitc594adad5653491813959277fb87a2fef54c4e05
treebaefdce10a0b490017b0a5acbe9dbeb8cb14c003
parent9a5573e378c5c8976c6000a7643b52e2a0481688
[PATCH] Dynamic hugepage addresses for ppc64

Paulus, I think this is now a reasonable candidate for the post-2.6.13
queue.

Relax address restrictions for hugepages on ppc64

Presently, 64-bit applications on ppc64 may only use hugepages in the
address region from 1-1.5T.  Furthermore, if hugepages are enabled in
the kernel config, they may only use hugepages and never normal pages
in this area.  This patch relaxes this restriction, allowing any
address to be used with hugepages, but with a 1TB granularity.  That
is if you map a hugepage anywhere in the region 1TB-2TB, that entire
area will be reserved exclusively for hugepages for the remainder of
the process's lifetime.  This works analagously to hugepages in 32-bit
applications, where hugepages can be mapped anywhere, but with 256MB
(mmu segment) granularity.

This patch applies on top of the four level pagetable patch
(http://patchwork.ozlabs.org/linuxppc64/patch?id=1936).

Signed-off-by: David Gibson <dwg@au1.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
arch/ppc64/kernel/asm-offsets.c
arch/ppc64/mm/hugetlbpage.c
arch/ppc64/mm/slb_low.S
include/asm-ppc64/mmu.h
include/asm-ppc64/page.h