Re: [PATCH] powerpc/mm/book3s64: Skip 16G page reservation with radix

2020-06-25 Thread Michael Ellerman
On Mon, 22 Jun 2020 12:10:19 +0530, Aneesh Kumar K.V wrote:
> With hash translation, the hypervisor can hint the LPAR about 16GB contiguous 
> range
> via ibm,expected#pages. The kernel marks the range specified in the device 
> tree
> as reserved. Avoid doing this when using radix translation. Radix translation
> only supports 1G gigantic hugepage and kernel can do the 1G gigantic hugepage
> allocation via early memblock reservation. This can be done because with radix
> translation pages are not required to be contiguous on the host.

Applied to powerpc/next.

[1/1] powerpc/mm/book3s64: Skip 16G page reservation with radix
  https://git.kernel.org/powerpc/c/86590e524ee834b629afc55d8e5786091fbf84cc

cheers


[PATCH] powerpc/mm/book3s64: Skip 16G page reservation with radix

2020-06-21 Thread Aneesh Kumar K.V
With hash translation, the hypervisor can hint the LPAR about 16GB contiguous 
range
via ibm,expected#pages. The kernel marks the range specified in the device tree
as reserved. Avoid doing this when using radix translation. Radix translation
only supports 1G gigantic hugepage and kernel can do the 1G gigantic hugepage
allocation via early memblock reservation. This can be done because with radix
translation pages are not required to be contiguous on the host.

Signed-off-by: Aneesh Kumar K.V 
---
 arch/powerpc/mm/book3s64/hash_utils.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/powerpc/mm/book3s64/hash_utils.c 
b/arch/powerpc/mm/book3s64/hash_utils.c
index 0124003e60d0..65ab00566233 100644
--- a/arch/powerpc/mm/book3s64/hash_utils.c
+++ b/arch/powerpc/mm/book3s64/hash_utils.c
@@ -596,7 +596,7 @@ static void __init htab_scan_page_sizes(void)
}
 
 #ifdef CONFIG_HUGETLB_PAGE
-   if (!hugetlb_disabled) {
+   if (!hugetlb_disabled && !early_radix_enabled() ) {
/* Reserve 16G huge page memory sections for huge pages */
of_scan_flat_dt(htab_dt_scan_hugepage_blocks, NULL);
}
-- 
2.26.2