[RFC PATCH v4 0/6] arm64: tlb: add support for TTL feature

From: Zhenyu Ye
Date: Tue Mar 24 2020 - 09:46:21 EST


In order to reduce the cost of TLB invalidation, the ARMv8.4 TTL
feature allows TLBs to be issued with a level allowing for quicker
invalidation. This series provide support for this feature.

Patch 1 and Patch 2 was provided by Marc on his NV series[1] patches,
which detect the TTL feature and add __tlbi_level interface.

See patches for details, Thanks.

[1] https://lore.kernel.org/linux-arm-kernel/20200211174938.27809-1-maz@xxxxxxxxxx/


ChangeList:
v1:
add support for TTL feature in arm64.

v2:
build the patch on Marc's NV series[1].

v3:
use vma->vm_flags to replace mm->context.flags.

v4:
add Marc's patches into my series.


Marc Zyngier (2):
arm64: Detect the ARMv8.4 TTL feature
arm64: Add level-hinted TLB invalidation helper

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/cpucaps.h | 3 +-
arch/arm64/include/asm/mmu.h | 2 +
arch/arm64/include/asm/sysreg.h | 1 +
arch/arm64/include/asm/tlb.h | 12 +++++
arch/arm64/include/asm/tlbflush.h | 74 ++++++++++++++++++++++++++++---
arch/arm64/kernel/cpufeature.c | 11 +++++
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 +++-
12 files changed, 157 insertions(+), 13 deletions(-)

--
2.19.1