Message ID | 20200321121621.1600-1-yezhenyu2@huawei.com (mailing list archive) |
---|---|
Headers | show |
Series | arm64: tlb: add support for TTL field | expand |
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 > > 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@kernel.org/ > [3] https://lore.kernel.org/linux-arm-kernel/20200211174938.27809-68-maz@kernel.org/ > > 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(-) >
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@kernel.org/ >> [3] https://lore.kernel.org/linux-arm-kernel/20200211174938.27809-68-maz@kernel.org/ >> >> 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(-) >> >