On Fri, 2019-02-22 at 17:25:31 UTC, "Aneesh Kumar K.V" wrote:
> We added runtime allocation of 16G pages in
> commit 4ae279c2c96a ("powerpc/mm/hugetlb: Allow runtime allocation of 16G.")
> That was done to enable 16G allocation on PowerNV and KVM config. In case of
> KVM
> config, we mostly would have the entire guest RAM backed by 16G hugetlb pages
> for
> this to work. PAPR do support partial backing of guest RAM with hugepages via
> ibm,expected#pages node of memory node in the device tree. This means rest of
> the
> guest RAM won't be backed by 16G contiguous pages in the host and hence a
> hash page
> table insertion can fail in such case.
>
> An example error message will look like
>
> hash-mmu: mm: Hashing failure ! EA=0x7efc00000000 access=0x8000000000000006
> current=readback
> hash-mmu: trap=0x300 vsid=0x67af789 ssize=1 base psize=14 psize 14
> pte=0xc000000400000386
> readback[12260]: unhandled signal 7 at 00007efc00000000 nip 00000000100012d0
> lr 000000001000127c code 2
>
> This patch address that by preventing runtime allocation of 16G hugepages in
> LPAR config. To allocate 16G hugetlb one need to kernel command line
> hugepagesz=16G hugepages=<number of 16G pages>
>
> With radix translation mode we don't run into this issue.
>
> This change will preventÃÂ runtime allocation of 16G hugetlb pages on kvm
> with
> hash translation mode. However, with the current upstream it was observed that
> 16G hugetlbfs backed guest doesn't boot at all.
>
> We observe boot failure with the below message.
> [131354.647546] KVM: map_vrma at 0 failed, ret=-4
>
> That means this patch is not resulting in an observable regression. Once we
> fix
> the boot issue with 16G hugetlb backed memory, we need to use
> ibm,expected#pages
> memory node attribute to indicate 16G page reservation to the guest. This will
> also enable partial backing of guest RAM with 16G pages.
>
> Fixes: 4ae279c2c96a ("powerpc/mm/hugetlb: Allow runtime allocation of 16G.")
> Signed-off-by: Aneesh Kumar K.V <[email protected]>
Applied to powerpc next, thanks.
https://git.kernel.org/powerpc/c/35f2806b481f5b9207f25e1886cba5d1
cheers