lkml.org 
[lkml]   [2021]   [Jan]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[PATCH v2 0/3] Create 'old' ptes for faultaround mappings on arm64 with hardware access flag
Date
Hi all,

This is version two of the series I originally posted here:

https://lore.kernel.org/r/20201209163950.8494-1-will@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.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: Hugh Dickins <hughd@google.com>
Cc: <kernel-team@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

\
 
 \ /
  Last update: 2021-01-08 18:17    [W:0.685 / U:0.012 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site