[PATCH] powerpc/mm: Disable registering 16G hugepage size for powernv platform
Michael Ellerman
mpe at ellerman.id.au
Mon Jul 24 20:28:13 AEST 2017
"Aneesh Kumar K.V" <aneesh.kumar at linux.vnet.ibm.com> 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 <aneesh.kumar at linux.vnet.ibm.com>
> ---
>
> 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
> 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
More information about the Linuxppc-dev
mailing list