[PATCH -v6 0/2] arm, tlbflush: avoid TLBI broadcast if page reused in write fault

Huang Ying posted 2 patches 1 month ago
arch/arm64/include/asm/pgtable.h  | 14 ++++---
arch/arm64/include/asm/tlbflush.h | 56 ++++++++++++++++++++++++++++
arch/arm64/mm/contpte.c           |  3 +-
arch/arm64/mm/fault.c             |  8 +++-
include/linux/huge_mm.h           |  2 +-
include/linux/pgtable.h           |  4 ++
mm/huge_memory.c                  | 33 ++++++++++------
mm/internal.h                     |  2 +-
mm/memory.c                       | 62 +++++++++++++++++++++++--------
9 files changed, 145 insertions(+), 39 deletions(-)
[PATCH -v6 0/2] arm, tlbflush: avoid TLBI broadcast if page reused in write fault
Posted by Huang Ying 1 month ago
This series is to optimize the system performance via avoiding TLBI
broadcast if page is reused in the write protect fault handler.  More
details of the background and the test results can be found in [2/2].

Changelog:

v6:

- Collect Acked-by, Thanks Zi!

v5:

- Code cleanup for [2/2], Thanks David's comments!

- Rebased on v6.18-rc5.

v4:

- Collected Reviewed-by and Acked-by, Thanks Lorenzo, David, Ryan, and
  Barry.

v3:

- Various code cleanup and improved design and document in [1/2],
  Thanks Lorenzo and David's comments!
- Fixed a typo and improved function interface in [2/2], Thanks Ryan's
  comments!

v2:

- Various code cleanup in [1/2], Thanks David's comments!
- Remove unnecessary __local_flush_tlb_page_nosync() in [2/2], Thanks Ryan's comments!
- Add missing contpte processing, Thanks Rayn and Catalin's comments!

Huang Ying (2):
  mm: add spurious fault fixing support for huge pmd
  arm64, tlbflush: don't TLBI broadcast if page reused in write fault

 arch/arm64/include/asm/pgtable.h  | 14 ++++---
 arch/arm64/include/asm/tlbflush.h | 56 ++++++++++++++++++++++++++++
 arch/arm64/mm/contpte.c           |  3 +-
 arch/arm64/mm/fault.c             |  8 +++-
 include/linux/huge_mm.h           |  2 +-
 include/linux/pgtable.h           |  4 ++
 mm/huge_memory.c                  | 33 ++++++++++------
 mm/internal.h                     |  2 +-
 mm/memory.c                       | 62 +++++++++++++++++++++++--------
 9 files changed, 145 insertions(+), 39 deletions(-)

Best Regards,
Huang, Ying
Re: [PATCH -v6 0/2] arm, tlbflush: avoid TLBI broadcast if page reused in write fault
Posted by Catalin Marinas 4 weeks ago
From: Catalin Marinas <catalin.marinas@arm.com>

On Fri, 14 Nov 2025 16:54:01 +0800, Huang Ying wrote:
> This series is to optimize the system performance via avoiding TLBI
> broadcast if page is reused in the write protect fault handler.  More
> details of the background and the test results can be found in [2/2].
> 
> Changelog:
> 
> v6:
> 
> [...]

Applied to arm64 (for-next/local-tlbi-page-reused), thanks!

[1/2] mm: add spurious fault fixing support for huge pmd
      https://git.kernel.org/arm64/c/79301c7d605a
[2/2] arm64, tlbflush: don't TLBI broadcast if page reused in write fault
      https://git.kernel.org/arm64/c/cb1fa2e99955

-- 
Catalin