• Aneesh Kumar K.V's avatar
    mm/vmemmap optimization: split hugetlb and devdax vmemmap optimization · 0b6f1582
    Aneesh Kumar K.V authored
    Arm disabled hugetlb vmemmap optimization [1] because hugetlb vmemmap
    optimization includes an update of both the permissions (writeable to
    read-only) and the output address (pfn) of the vmemmap ptes.  That is not
    supported without unmapping of pte(marking it invalid) by some
    architectures.
    
    With DAX vmemmap optimization we don't require such pte updates and
    architectures can enable DAX vmemmap optimization while having hugetlb
    vmemmap optimization disabled.  Hence split DAX optimization support into
    a different config.
    
    s390, loongarch and riscv don't have devdax support.  So the DAX config is
    not enabled for them.  With this change, arm64 should be able to select
    DAX optimization
    
    [1] commit 060a2c92 ("arm64: mm: hugetlb: Disable HUGETLB_PAGE_OPTIMIZE_VMEMMAP")
    
    Link: https://lkml.kernel.org/r/20230724190759.483013-8-aneesh.kumar@linux.ibm.comSigned-off-by: default avatarAneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
    Cc: Catalin Marinas <catalin.marinas@arm.com>
    Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
    Cc: Dan Williams <dan.j.williams@intel.com>
    Cc: Joao Martins <joao.m.martins@oracle.com>
    Cc: Michael Ellerman <mpe@ellerman.id.au>
    Cc: Mike Kravetz <mike.kravetz@oracle.com>
    Cc: Muchun Song <muchun.song@linux.dev>
    Cc: Nicholas Piggin <npiggin@gmail.com>
    Cc: Oscar Salvador <osalvador@suse.de>
    Cc: Will Deacon <will@kernel.org>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    0b6f1582
Kconfig 19.3 KB