christophe leroy <christophe.le...@c-s.fr> writes: > 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 ?
I was hoping every platform can switch to generic code. Obviously I didn't test the changes on anything other than ppc64. Can you try with this patchset and pass hugepagesz=<size> hugepages=<number> kernel arg and see if hugepage allocation works for you ? > >> >> 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 <o...@buserror.net> >> Cc: Christophe Leroy <christophe.le...@c-s.fr> >> Signed-off-by: Aneesh Kumar K.V <aneesh.ku...@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' Agreed, but that is how we named all the pseries related functions in platforms/pseries/*.c files. Hence i kept the same naming style. -aneesh