[PATCH] powerpc/mm: Disable registering 16G hugepage size for powernv platform

Subsystems: linux for powerpc (32-bit and 64-bit), the rest

STALE3327d

3 messages, 2 authors, 2017-07-25 · open the first message on its own page

[PATCH] powerpc/mm: Disable registering 16G hugepage size for powernv platform

From: Aneesh Kumar K.V <hidden>
Date: 2017-07-24 07:26:18

We don't support allocating them runtime. Only supported mechanism as of now is
HMC based hypervisor interface. So disable 16G hugetlb on powernv platform

Signed-off-by: Aneesh Kumar K.V <redacted>
---

May be this should go to -stable ?. To show the 16G pagesize in
/sys/kernel/mm/hugepages/ confuse users

 arch/powerpc/mm/hugetlbpage.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/arch/powerpc/mm/hugetlbpage.c b/arch/powerpc/mm/hugetlbpage.c
index e1bf5ca397fe..28ea94da0707 100644
--- a/arch/powerpc/mm/hugetlbpage.c
+++ b/arch/powerpc/mm/hugetlbpage.c
@@ -24,6 +24,7 @@
 #include <asm/tlb.h>
 #include <asm/setup.h>
 #include <asm/hugetlb.h>
+#include <asm/machdep.h>
 
 #ifdef CONFIG_HUGETLB_PAGE
 
@@ -749,7 +750,8 @@ static int __init add_huge_page_size(unsigned long long size)
 				return -EINVAL;
 		}
 	} else {
-		if (mmu_psize != MMU_PAGE_16M && mmu_psize != MMU_PAGE_16G)
+		if ((mmu_psize != MMU_PAGE_16M && mmu_psize != MMU_PAGE_16G)
+		    || (mmu_psize == MMU_PAGE_16G && machine_is(powernv)))
 			return -EINVAL;
 	}
 #endif
-- 
2.7.4

Re: [PATCH] powerpc/mm: Disable registering 16G hugepage size for powernv platform

From: Michael Ellerman <mpe@ellerman.id.au>
Date: 2017-07-24 10:28:14

"Aneesh Kumar K.V" [off-list ref] writes:
We don't support allocating them runtime. Only supported mechanism as of now is
HMC based hypervisor interface. So disable 16G hugetlb on powernv platform

Signed-off-by: Aneesh Kumar K.V <redacted>
---

May be this should go to -stable ?. To show the 16G pagesize in
/sys/kernel/mm/hugepages/ confuse users
It's a bit of a hack :/

16G also shows up on pseries, when there are no pages pre-allocated,
which is also confusing.

Ideally we'd only show sizes that can be allocated at runtime, OR were
preallocated, regardless of platform.

Is there an easy way to do that?

cheers
quoted hunk
 arch/powerpc/mm/hugetlbpage.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/arch/powerpc/mm/hugetlbpage.c b/arch/powerpc/mm/hugetlbpage.c
index e1bf5ca397fe..28ea94da0707 100644
--- a/arch/powerpc/mm/hugetlbpage.c
+++ b/arch/powerpc/mm/hugetlbpage.c
@@ -24,6 +24,7 @@
 #include <asm/tlb.h>
 #include <asm/setup.h>
 #include <asm/hugetlb.h>
+#include <asm/machdep.h>
 
 #ifdef CONFIG_HUGETLB_PAGE
 
@@ -749,7 +750,8 @@ static int __init add_huge_page_size(unsigned long long size)
 				return -EINVAL;
 		}
 	} else {
-		if (mmu_psize != MMU_PAGE_16M && mmu_psize != MMU_PAGE_16G)
+		if ((mmu_psize != MMU_PAGE_16M && mmu_psize != MMU_PAGE_16G)
+		    || (mmu_psize == MMU_PAGE_16G && machine_is(powernv)))
 			return -EINVAL;
 	}
 #endif
-- 
2.7.4

Re: [PATCH] powerpc/mm: Disable registering 16G hugepage size for powernv platform

From: Aneesh Kumar K.V <hidden>
Date: 2017-07-25 05:07:24


On 07/24/2017 03:58 PM, Michael Ellerman wrote:
"Aneesh Kumar K.V" [off-list ref] writes:
quoted
We don't support allocating them runtime. Only supported mechanism as of now is
HMC based hypervisor interface. So disable 16G hugetlb on powernv platform

Signed-off-by: Aneesh Kumar K.V <redacted>
---

May be this should go to -stable ?. To show the 16G pagesize in
/sys/kernel/mm/hugepages/ confuse users
It's a bit of a hack :/

16G also shows up on pseries, when there are no pages pre-allocated,
which is also confusing.

Ideally we'd only show sizes that can be allocated at runtime, OR were
preallocated, regardless of platform.

Is there an easy way to do that?

That is tricky, we are are going to enable 16G hugetlb on powernv with a 
followup patch. In that series we depend on the specifying hugetlb page 
count via kernel command line. The way above kernel command line parsing 
work is by looking at the hugetlb hstate which got allocated before and 
then assign the number of hugepages to that hstate. What you are asking 
is to fail the creating of hstate based on number of hugepages.

For now there is no way of using 16G hugepage on powernv. This patch 
address that issue by not showing 16G as a supported hugetlb page. In 
the later series, we will enable 16G hugetlb for powernv
and at which point both pseries and powernv behavior will remain consistent.

-aneesh
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help