3.2.96-rc1 review patch. If anyone has any objections, please let me know.
------------------
From: Rui Teng rui.teng@linux.vnet.ibm.com
commit 23493c121912a39f0262e0dbeb236e1d39efa4d5 upstream.
The offset of hugepage block will not be 16G, if the expected page is more than one. Calculate the totol size instead of the hardcode value.
Fixes: 4792adbac9eb ("powerpc: Don't use a 16G page if beyond mem= limits") Signed-off-by: Rui Teng rui.teng@linux.vnet.ibm.com Tested-by: Anshuman Khandual khandual@linux.vnet.ibm.com Signed-off-by: Michael Ellerman mpe@ellerman.id.au Signed-off-by: Ben Hutchings ben@decadent.org.uk --- arch/powerpc/mm/hash_utils_64.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
--- a/arch/powerpc/mm/hash_utils_64.c +++ b/arch/powerpc/mm/hash_utils_64.c @@ -383,7 +383,7 @@ static int __init htab_dt_scan_hugepage_ printk(KERN_INFO "Huge page(16GB) memory: " "addr = 0x%lX size = 0x%lX pages = %d\n", phys_addr, block_size, expected_pages); - if (phys_addr + (16 * GB) <= memblock_end_of_DRAM()) { + if (phys_addr + block_size * expected_pages <= memblock_end_of_DRAM()) { memblock_reserve(phys_addr, block_size * expected_pages); add_gpage(phys_addr, block_size, expected_pages); }