powerpc/mm: Fix check of multiple 16G pages from device tree
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: 4792adbac9
("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>
This commit is contained in:
Родитель
9227f04314
Коммит
23493c1219
|
@ -507,7 +507,7 @@ static int __init htab_dt_scan_hugepage_blocks(unsigned long node,
|
|||
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);
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче