On Monday 03 July 2017 01:01 PM, Anshuman Khandual wrote:
The gigantic page range received from platform actually extends
upto (block_size * expeted_pages) starting at any given address
instead of just a single 16GB page.

Fixes: 4792adbac9eb ("powerpc: Don't use a 16G page if beyond mem= limits")
Signed-off-by: Anshuman Khandual <khand...@linux.vnet.ibm.com>
---
Though in actual experiments never seen multiple gigantic pages (16GB)
starting at the same address. But again its very much possible looking
at the device tree property interfaces and depending upon what PowerVM
provides.

  arch/powerpc/mm/hash_utils_64.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/powerpc/mm/hash_utils_64.c b/arch/powerpc/mm/hash_utils_64.c
index f2095ce..a3f1e7d 100644
--- a/arch/powerpc/mm/hash_utils_64.c
+++ b/arch/powerpc/mm/hash_utils_64.c
@@ -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);
        }


This was already posted by another person.

https://lkml.kernel.org/r/20170112090906.17864-1-rui.t...@linux.vnet.ibm.com


-aneesh

Reply via email to