-- ChangeList: v3: use vma->vm_flags to replace mm->context.flags. v2: build the patch on Marc's NV series[1]. v1: add support for TTL field in arm64. -- ARMv8.4-TTL provides the TTL field in tlbi instruction to indicate the level of translation table walk holding the leaf entry for the address that is being invalidated. Hardware can use this information to determine if there was a risk of splintering. Marc has provided basic support for ARM64-TTL features on his NV series[1] patches. NV is a large feature, however, only patches 62[2] and 67[3] are need by this patch set. ** You only need read those two patches before review this patch. ** Some of this patch depends on a feature powered by @Will Deacon two years ago, which tracking the level of page tables in mm_gather. See more in commit a6d60245. [1] git://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git kvm-arm64/nv-5.6-rc1 [2] https://lore.kernel.org/linux-arm-kernel/20200211174938.27809-63-maz@xxxxxxxxxx/ [3] https://lore.kernel.org/linux-arm-kernel/20200211174938.27809-68-maz@xxxxxxxxxx/ Zhenyu Ye (4): arm64: Add level-hinted TLB invalidation helper to tlbi_user mm: Add page table level flags to vm_flags arm64: tlb: Use translation level hint in vm_flags mm: Set VM_LEVEL flags in some tlb_flush functions arch/arm64/include/asm/mmu.h | 2 ++ arch/arm64/include/asm/tlb.h | 12 +++++++++ arch/arm64/include/asm/tlbflush.h | 44 ++++++++++++++++++++++++++----- arch/arm64/mm/hugetlbpage.c | 4 +-- arch/arm64/mm/mmu.c | 14 ++++++++++ include/asm-generic/pgtable.h | 16 +++++++++-- include/linux/mm.h | 10 +++++++ include/trace/events/mmflags.h | 15 ++++++++++- mm/huge_memory.c | 8 +++++- 9 files changed, 113 insertions(+), 12 deletions(-) -- 2.19.1