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.mari...@arm.com> Cc: Jan Kara <j...@suse.cz> Cc: Minchan Kim <minc...@kernel.org> Cc: Andrew Morton <a...@linux-foundation.org> Cc: Kirill A. Shutemov <kirill.shute...@linux.intel.com> Cc: Linus Torvalds <torva...@linux-foundation.org> Cc: Vinayak Menon <vinme...@codeaurora.org> Cc: Andrew Morton <a...@linux-foundation.org> Cc: <kernel-t...@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(-) -- 2.29.2.576.ga3fc446d84-goog