Re: [V2] powerpc/Kconfig: Update config option based on page size.
flat view
From: santhosh <hidden>
Date: 2016-09-14 10:40:53
Michael Ellerman [off-list ref] writes:quoted
On Fri, 2016-19-02 at 05:38:47 UTC, Rashmica Gupta wrote:quoted
Currently on PPC64 changing kernel pagesize from 4K to 64K leaves FORCE_MAX_ZONEORDER set to 13 - which produces a compile error....quoted
So, update the range of FORCE_MAX_ZONEORDER from 9-64 to 8-9 for 64K pages and from 13-64 to 9-13 for 4K pages. Signed-off-by: Rashmica Gupta <redacted> Reviewed-by: Balbir Singh <bsingharora@gmail.com>Applied to powerpc next, thanks. https://git.kernel.org/powerpc/c/a7ee539584acf4a565b7439ceaHPAGE_PMD_ORDER is not something we should check w.r.t 4k linux page size. We do have the below constraint w.r.t hugetlb pages static inline bool hstate_is_gigantic(struct hstate *h) { return huge_page_order(h) >= MAX_ORDER; } That require MAX_ORDER to be greater than 12. Did we test hugetlbfs 4k config with this patch ? Will it work if we start marking hugepage as gigantic page ? -aneesh
Hello Rashmica, With upstream linux kernel 4.8.0-rc1-00006-gbae9cc6 compiled with linux 4k page size we are not able set hugepages, Aneesh had a look at the problem and he mentioned this commit is causing the issue. *Details:* We are using pkvm ubuntu 16.04 guest with upstream kernel [4.8.0-rc1-00006-gbae9cc6] compiled with 4k page size o/p from guest: HugePages_Total: 0 HugePages_Free: 0 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 16384 kB Page sizes from device-tree: [dmesg] [ 0.000000] base_shift=12: shift=12, sllp=0x0000, avpnm=0x00000000, tlbiel=1, penc=0 [ 0.000000] base_shift=12: shift=24, sllp=0x0000, avpnm=0x00000000, tlbiel=1, penc=56 [ 0.000000] base_shift=24: shift=24, sllp=0x0100, avpnm=0x00000001, tlbiel=0, penc=0 while trying to configure the hugepages inside the guest it throws the below error: echo 100 > /proc/sys/vm/nr_hugepages -bash: echo: write error: Invalid argument *Note*: we do not see the problem when the linux page is 64k Thanks, Santhosh G