* [merged mm-stable] s390-mm-try-vma-lock-based-page-fault-handling-first.patch removed from -mm tree
@ 2023-04-06 3:04 Andrew Morton
0 siblings, 0 replies; only message in thread
From: Andrew Morton @ 2023-04-06 3:04 UTC (permalink / raw)
To: mm-commits, svens, surenb, gor, gerald.schaefer, borntraeger,
agordeev, hca, akpm
The quilt patch titled
Subject: s390/mm: try VMA lock-based page fault handling first
has been removed from the -mm tree. Its filename was
s390-mm-try-vma-lock-based-page-fault-handling-first.patch
This patch was dropped because it was merged into the mm-stable branch
of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
------------------------------------------------------
From: Heiko Carstens <hca@linux.ibm.com>
Subject: s390/mm: try VMA lock-based page fault handling first
Date: Tue, 14 Mar 2023 14:28:08 +0100
Attempt VMA lock-based page fault handling first, and fall back to the
existing mmap_lock-based handling if that fails.
This is the s390 variant of "x86/mm: try VMA lock-based page fault handling
first".
Link: https://lkml.kernel.org/r/20230314132808.1266335-1-hca@linux.ibm.com
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Cc: Alexander Gordeev <agordeev@linux.ibm.com>
Cc: Christian Borntraeger <borntraeger@linux.ibm.com>
Cc: Gerald Schaefer <gerald.schaefer@linux.ibm.com>
Cc: Suren Baghdasaryan <surenb@google.com>
Cc: Sven Schnelle <svens@linux.ibm.com>
Cc: Vasily Gorbik <gor@linux.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
arch/s390/Kconfig | 1 +
arch/s390/mm/fault.c | 24 ++++++++++++++++++++++++
2 files changed, 25 insertions(+)
--- a/arch/s390/Kconfig~s390-mm-try-vma-lock-based-page-fault-handling-first
+++ a/arch/s390/Kconfig
@@ -120,6 +120,7 @@ config S390
select ARCH_SUPPORTS_DEBUG_PAGEALLOC
select ARCH_SUPPORTS_HUGETLBFS
select ARCH_SUPPORTS_NUMA_BALANCING
+ select ARCH_SUPPORTS_PER_VMA_LOCK
select ARCH_USE_BUILTIN_BSWAP
select ARCH_USE_CMPXCHG_LOCKREF
select ARCH_WANTS_DYNAMIC_TASK_STRUCT
--- a/arch/s390/mm/fault.c~s390-mm-try-vma-lock-based-page-fault-handling-first
+++ a/arch/s390/mm/fault.c
@@ -407,6 +407,30 @@ static inline vm_fault_t do_exception(st
access = VM_WRITE;
if (access == VM_WRITE)
flags |= FAULT_FLAG_WRITE;
+#ifdef CONFIG_PER_VMA_LOCK
+ if (!(flags & FAULT_FLAG_USER))
+ goto lock_mmap;
+ vma = lock_vma_under_rcu(mm, address);
+ if (!vma)
+ goto lock_mmap;
+ if (!(vma->vm_flags & access)) {
+ vma_end_read(vma);
+ goto lock_mmap;
+ }
+ fault = handle_mm_fault(vma, address, flags | FAULT_FLAG_VMA_LOCK, regs);
+ vma_end_read(vma);
+ if (!(fault & VM_FAULT_RETRY)) {
+ count_vm_vma_lock_event(VMA_LOCK_SUCCESS);
+ goto out;
+ }
+ count_vm_vma_lock_event(VMA_LOCK_RETRY);
+ /* Quick path to respond to signals */
+ if (fault_signal_pending(fault, regs)) {
+ fault = VM_FAULT_SIGNAL;
+ goto out;
+ }
+lock_mmap:
+#endif /* CONFIG_PER_VMA_LOCK */
mmap_read_lock(mm);
gmap = NULL;
_
Patches currently in -mm which might be from hca@linux.ibm.com are
proc-stat-remove-arch_idle_time.patch
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2023-04-06 3:05 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-04-06 3:04 [merged mm-stable] s390-mm-try-vma-lock-based-page-fault-handling-first.patch removed from -mm tree Andrew Morton
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.