[PATCH v2] powerpc/mm: Implemented default_hugepagesz verification for powerpc

Aneesh Kumar K.V aneesh.kumar at linux.vnet.ibm.com
Fri Jul 21 17:05:08 AEST 2017


Victor Aoqui <victora at linux.vnet.ibm.com> writes:

> Implemented default hugepage size verification (default_hugepagesz=)
> in order to allow allocation of defined number of pages (hugepages=)
> only for supported hugepage sizes.
>
> Signed-off-by: Victor Aoqui <victora at linux.vnet.ibm.com>
> ---
> v2:
>
> - Renamed default_hugepage_setup_sz function to hugetlb_default_size_setup;
>
> - Added powerpc string to error message.
>
>  arch/powerpc/mm/hugetlbpage.c | 15 +++++++++++++++
>  1 file changed, 15 insertions(+)
>
> diff --git a/arch/powerpc/mm/hugetlbpage.c b/arch/powerpc/mm/hugetlbpage.c
> index e1bf5ca..3a142fe 100644
> --- a/arch/powerpc/mm/hugetlbpage.c
> +++ b/arch/powerpc/mm/hugetlbpage.c
> @@ -780,6 +780,21 @@ static int __init hugepage_setup_sz(char *str)
>  }
>  __setup("hugepagesz=", hugepage_setup_sz);
>
> +static int __init hugetlb_default_size_setup(char *str)
> +{
> +	unsigned long long size;
> +
> +	size = memparse(str, &str);
> +
> +	if (add_huge_page_size(size) != 0) {
> +		hugetlb_bad_size();
> +		pr_err("Invalid powerpc default huge page size specified(%llu)\n", size);
> +	}
> +
> +	return 1;
> +}
> +__setup("default_hugepagesz=", hugetlb_default_size_setup);
> +

this means we don't core the core function hugetlb_default_setup().
Hence the value default_hstate_size = 0  which means different value
for default_hstate_idx. We use that for hugetlbfs mount. 

>  struct kmem_cache *hugepte_cache;
>  static int __init hugetlbpage_init(void)
>  {
> -- 
> 1.8.3.1



More information about the Linuxppc-dev mailing list