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.9-rc1. Changes in V1: - Used new PMD_PRESENT_INVALID (bit 59) to represent invalidated PMD state per Catalin Changes in RFC V2: (https://patchwork.kernel.org/project/linux-mm/list/?series=302965) - 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 to comply with generic MM semantics arm64/mm: Enable THP migration arch/arm64/Kconfig | 4 +++ arch/arm64/include/asm/pgtable-prot.h | 7 +++++ arch/arm64/include/asm/pgtable.h | 39 ++++++++++++++++++++++++--- 3 files changed, 47 insertions(+), 3 deletions(-) -- 2.20.1