[PATCH v2 12/16] mm/vmemmap optimization: Split hugetlb and devdax vmemmap optimization

Aneesh Kumar K V aneesh.kumar at linux.ibm.com
Wed Jun 28 13:01:15 AEST 2023


On 6/28/23 6:39 AM, Ritesh Harjani (IBM) wrote:
> "Aneesh Kumar K.V" <aneesh.kumar at linux.ibm.com> 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 at linux.ibm.com>
>> ---
>>  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



More information about the Linuxppc-dev mailing list