mbox series

[0/2] Create 'old' ptes for faultaround mappings on arm64 with hardware access flag

Message ID 20201209163950.8494-1-will@kernel.org (mailing list archive)
Headers show
Series Create 'old' ptes for faultaround mappings on arm64 with hardware access flag | expand

Message

Will Deacon Dec. 9, 2020, 4:39 p.m. UTC
Hi folks,

This series allows architectures to opt-in at runtime for faultaround
mappings to be created as 'old' instead of 'young'. Although there have
been previous attempts at this, they failed either because the decision
was deferred to userspace [1] or because it was done unconditionally and
shown to regress benchmarks for particular architectures [2].

Since this patch has demonstrated considerable benefits for arm64-based
Android devices with hardware access flag capabilities, patch two enables
this functionality there.

Cheers,

Will

[1] https://www.spinics.net/lists/linux-mm/msg143831.html
[2] 315d09bf30c2 ("Revert "mm: make faultaround produce old ptes"")

Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Jan Kara <jack@suse.cz>
Cc: Minchan Kim <minchan@kernel.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Vinayak Menon <vinmenon@codeaurora.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: <kernel-team@android.com>

--->8

Will Deacon (2):
  mm: Allow architectures to request 'old' entries when prefaulting
  arm64: mm: Implement arch_wants_old_faultaround_pte()

 arch/arm64/include/asm/cpufeature.h | 12 +++++++++++
 arch/arm64/include/asm/pgtable.h    |  8 +++++++-
 include/linux/mm.h                  |  5 ++++-
 mm/memory.c                         | 31 ++++++++++++++++++++++++++---
 4 files changed, 51 insertions(+), 5 deletions(-)