[PATCH v2 2/2] powerpc/mm/hugetlb: Add support for reserving gigantic huge pages via kernel command line

christophe leroy christophe.leroy at c-s.fr
Fri Jun 2 02:42:17 AEST 2017



Le 01/06/2017 à 16:30, Aneesh Kumar K.V a écrit :
> With commit aa888a74977a8 ("hugetlb: support larger than MAX_ORDER") we added
> support for allocating gigantic hugepages via kernel command line. Switch
> ppc64 arch specific code to use that.

Is it only ppc64 ? Your patch removes things defined for the 8xx and 
modifies stuff in init_32.c

On the 8xx, as far as I remember, 8M pages on 4k pages mode are above 
default MAX_ORDER, I solved it by increasing MAX_ORDER. Is that wrong ?

>
> W.r.t FSL support, we now limit our allocation range using BOOTMEM_ALLOC_ACCESSIBLE.
>
> We use the kernel command line to do reservation of hugetlb pages on powernv
> platforms. On pseries hash mmu mode the supported gigantic huge page size is
> 16GB and that can only be allocated with hypervisor assist. For pseries the
> command line option doesn't do the allocation. Instead pseries does gigantic
> hugepage allocation based on hypervisor hint that is specified via
> "ibm,expected#pages" property of the memory node.
>
> Cc: Scott Wood <oss at buserror.net>
> Cc: Christophe Leroy <christophe.leroy at c-s.fr>
> Signed-off-by: Aneesh Kumar K.V <aneesh.kumar at linux.vnet.ibm.com>
> ---
>  arch/powerpc/include/asm/book3s/64/mmu-hash.h |   2 +-
>  arch/powerpc/include/asm/hugetlb.h            |  14 --
>  arch/powerpc/kernel/setup-common.c            |   7 -
>  arch/powerpc/mm/hash_utils_64.c               |   2 +-
>  arch/powerpc/mm/hugetlbpage.c                 | 177 +++-----------------------
>  arch/powerpc/mm/init_32.c                     |   2 -
>  6 files changed, 22 insertions(+), 182 deletions(-)
>
> diff --git a/arch/powerpc/include/asm/book3s/64/mmu-hash.h b/arch/powerpc/include/asm/book3s/64/mmu-hash.h
> index 6981a52b3887..67766e60a6b6 100644
> --- a/arch/powerpc/include/asm/book3s/64/mmu-hash.h
> +++ b/arch/powerpc/include/asm/book3s/64/mmu-hash.h
> @@ -468,7 +468,7 @@ extern int htab_bolt_mapping(unsigned long vstart, unsigned long vend,
>  			     int psize, int ssize);
>  int htab_remove_mapping(unsigned long vstart, unsigned long vend,
>  			int psize, int ssize);
> -extern void add_gpage(u64 addr, u64 page_size, unsigned long number_of_pages);
> +extern void pSeries_add_gpage(u64 addr, u64 page_size, unsigned long number_of_pages);

Linux kernel coding style says 'mixed-case names are frowned upon'

Christophe

---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
https://www.avast.com/antivirus



More information about the Linuxppc-dev mailing list