Hi Zenghui, On 2020/3/24 19:31, Zenghui Yu wrote: >Hi Zhenyu, > >On 2020/3/21 20:16, Zhenyu Ye wrote: >> -- >> 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. ** > >It'd be good if you can put the whole thing into a series, otherwise >people will have difficulty when reviewing and testing it... > >I haven't tracked the previous versions. If Marc is OK to share the >two patches below [2][3], I'd suggest you to pick them up, add them >in your series, rebase on top of mainline and resend it. > > >Thanks, >Zenghui > Thanks for your review. I'd take your suggestion and resend a new set right now. Thanks, Zhenyu >> >> 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(-) >> >