powerpc: Clean up hugepage pagetable allocation for powerpc with 16G pages
authorDavid Gibson <dwg@au1.ibm.com>
Fri, 5 Sep 2008 01:49:54 +0000 (11:49 +1000)
committerPaul Mackerras <paulus@samba.org>
Mon, 15 Sep 2008 18:08:47 +0000 (11:08 -0700)
commit0b26425ce101a7c1b1ad4ec353d4e860223d9fc4
treeea179429b60efda0e4ce60ca41ad974f921c5fbb
parent150c6c8fecf6daaf68c2987ba2b6b259baefdff2
powerpc: Clean up hugepage pagetable allocation for powerpc with 16G pages

There is a small bug in the handling of 16G hugepages recently added
to the kernel.  This doesn't cause a crash or other user-visible
problems, but it does mean that more levels of pagetable are allocated
than makes sense for 16G pages.  The hugepage pagetables for the 16G
pages are allocated much lower in the pagetable tree than they should
be, with the intervening levels allocated with full pmd and pud pages
which will only ever have one entry filled in.

This corrects this problem, at the same time cleaning up the handling
of which level 64k versus 16M hugepage pagetables are allocated at.
The new way of formatting the tests should be more robust against
changes in pagetable structure, or any newly added hugepage sizes.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
arch/powerpc/mm/hugetlbpage.c