linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC PATCH v3 0/4] arm64: tlb: add support for TTL field
@ 2020-03-21 12:16 Zhenyu Ye
  2020-03-21 12:16 ` [RFC PATCH v3 1/4] arm64: Add level-hinted TLB invalidation helper to tlbi_user Zhenyu Ye
                   ` (4 more replies)
  0 siblings, 5 replies; 7+ messages in thread
From: Zhenyu Ye @ 2020-03-21 12:16 UTC (permalink / raw)
  To: will, mark.rutland, catalin.marinas, aneesh.kumar, maz,
	steven.price, broonie, guohanjun
  Cc: yezhenyu2, linux-arm-kernel, linux-kernel, linux-arch, linux-mm,
	arm, xiexiangyou, prime.zeng, zhangshaokun

--
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@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(-)

-- 
2.19.1



^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2020-03-24 12:42 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-21 12:16 [RFC PATCH v3 0/4] arm64: tlb: add support for TTL field Zhenyu Ye
2020-03-21 12:16 ` [RFC PATCH v3 1/4] arm64: Add level-hinted TLB invalidation helper to tlbi_user Zhenyu Ye
2020-03-21 12:16 ` [RFC PATCH v3 2/4] mm: Add page table level flags to vm_flags Zhenyu Ye
2020-03-21 12:16 ` [RFC PATCH v3 3/4] arm64: tlb: Use translation level hint in vm_flags Zhenyu Ye
2020-03-21 12:16 ` [RFC PATCH v3 4/4] mm: Set VM_LEVEL flags in some tlb_flush functions Zhenyu Ye
2020-03-24 11:31 ` [RFC PATCH v3 0/4] arm64: tlb: add support for TTL field Zenghui Yu
2020-03-24 12:41   ` Zhenyu Ye

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).