This series enables THP migration on arm64 via ARCH_ENABLE_THP_MIGRATION. But first this modifies all existing THP helpers like pmd_present() and pmd_trans_huge() etc per expected generic memory semantics as concluded from a previous discussion here. https://lkml.org/lkml/2018/10/9/220 This series is based on v5.8-rc1. Changes in RFC V2: - Used PMD_TABLE_BIT to represent splitting PMD state per Catalin Changes in RFC V1: (https://patchwork.kernel.org/project/linux-mm/list/?series=138797) Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Will Deacon <will@xxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Marc Zyngier <maz@xxxxxxxxxx> Cc: Suzuki Poulose <suzuki.poulose@xxxxxxx> Cc: Zi Yan <ziy@xxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Anshuman Khandual (2): arm64/mm: Change THP helpers per generic memory semantics arm64/mm: Enable THP migration arch/arm64/Kconfig | 4 ++ arch/arm64/include/asm/pgtable.h | 102 +++++++++++++++++++++++++++---- arch/arm64/mm/hugetlbpage.c | 2 +- arch/arm64/mm/mmu.c | 20 ++++++ 4 files changed, 116 insertions(+), 12 deletions(-) -- 2.20.1