On 6/28/23 6:39 AM, Ritesh Harjani (IBM) wrote: > "Aneesh Kumar K.V" <aneesh.kumar@xxxxxxxxxxxxx> writes: > >> 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. >> >> 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 060a2c92d1b6 ("arm64: mm: hugetlb: Disable HUGETLB_PAGE_OPTIMIZE_VMEMMAP") >> >> Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxx> >> --- >> arch/loongarch/Kconfig | 2 +- >> arch/riscv/Kconfig | 2 +- >> arch/x86/Kconfig | 3 ++- >> fs/Kconfig | 2 +- >> include/linux/mm.h | 2 +- >> mm/Kconfig | 5 ++++- >> 6 files changed, 10 insertions(+), 6 deletions(-) > > what about s390? > > git grep "ARCH_WANT_OPTIMIZE_VMEMMAP" . > arch/s390/Kconfig: select ARCH_WANT_OPTIMIZE_VMEMMAP > Thanks for catching that. Updated -aneesh