Hi all, This is version two of the series I originally posted here:
https://lore.kernel.org/r/20201209163950.8494-1-w...@kernel.org The patches allow 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]. The big difference in this version is that I have reworked it based on Kirill's patch which he posted as a follow-up to the original. However, I can't tell where we've landed on that -- Linus seemed to like it, but Hugh was less enthusiastic. I think that my subsequent patches are an awful lot cleaner after the rework, but I don't think I necessarily depend on everything in there so if that patch is likely to be a sticking point then I can try to extract the parts I need. Feedback welcome. 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: Hugh Dickins <hu...@google.com> Cc: <kernel-t...@android.com> --->8 Kirill A. Shutemov (1): mm: Cleanup faultaround and finish_fault() codepaths Will Deacon (2): mm: Allow architectures to request 'old' entries when prefaulting arm64: mm: Implement arch_wants_old_prefaulted_pte() arch/arm64/include/asm/pgtable.h | 12 +- fs/xfs/xfs_file.c | 6 +- include/linux/mm.h | 17 ++- include/linux/pgtable.h | 11 ++ mm/filemap.c | 181 +++++++++++++++++++------ mm/memory.c | 219 +++++++++++-------------------- 6 files changed, 251 insertions(+), 195 deletions(-) -- 2.29.2.729.g45daf8777d-goog