]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
Drop mm-memory.c-skip-spurious-tlb-flush-for-retried-page.patch from 5.4
authorSasha Levin <sashal@kernel.org>
Fri, 28 Aug 2020 23:22:45 +0000 (19:22 -0400)
committerSasha Levin <sashal@kernel.org>
Fri, 28 Aug 2020 23:22:45 +0000 (19:22 -0400)
Signed-off-by: Sasha Levin <sashal@kernel.org>
queue-5.4/mm-memory.c-skip-spurious-tlb-flush-for-retried-page.patch [deleted file]
queue-5.4/series

diff --git a/queue-5.4/mm-memory.c-skip-spurious-tlb-flush-for-retried-page.patch b/queue-5.4/mm-memory.c-skip-spurious-tlb-flush-for-retried-page.patch
deleted file mode 100644 (file)
index 3a2eae5..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-From 6438a6013b9df7304281cf33953e8c7166e18fc2 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Fri, 14 Aug 2020 21:30:41 -0700
-Subject: mm/memory.c: skip spurious TLB flush for retried page fault
-
-From: Yang Shi <shy828301@gmail.com>
-
-[ Upstream commit b7333b58f358f38d90d78e00c1ee5dec82df10ad ]
-
-Recently we found regression when running will_it_scale/page_fault3 test
-on ARM64.  Over 70% down for the multi processes cases and over 20% down
-for the multi threads cases.  It turns out the regression is caused by
-commit 89b15332af7c ("mm: drop mmap_sem before calling
-balance_dirty_pages() in write fault").
-
-The test mmaps a memory size file then write to the mapping, this would
-make all memory dirty and trigger dirty pages throttle, that upstream
-commit would release mmap_sem then retry the page fault.  The retried
-page fault would see correct PTEs installed then just fall through to
-spurious TLB flush.  The regression is caused by the excessive spurious
-TLB flush.  It is fine on x86 since x86's spurious TLB flush is no-op.
-
-We could just skip the spurious TLB flush to mitigate the regression.
-
-Suggested-by: Linus Torvalds <torvalds@linux-foundation.org>
-Reported-by: Xu Yu <xuyu@linux.alibaba.com>
-Debugged-by: Xu Yu <xuyu@linux.alibaba.com>
-Tested-by: Xu Yu <xuyu@linux.alibaba.com>
-Cc: Johannes Weiner <hannes@cmpxchg.org>
-Cc: Catalin Marinas <catalin.marinas@arm.com>
-Cc: Will Deacon <will.deacon@arm.com>
-Cc: <stable@vger.kernel.org>
-Signed-off-by: Yang Shi <shy828301@gmail.com>
-Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- mm/memory.c | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/mm/memory.c b/mm/memory.c
-index cb7c940cf800c..4d4c4d6782a22 100644
---- a/mm/memory.c
-+++ b/mm/memory.c
-@@ -3886,6 +3886,9 @@ static vm_fault_t handle_pte_fault(struct vm_fault *vmf)
-                               vmf->flags & FAULT_FLAG_WRITE)) {
-               update_mmu_cache(vmf->vma, vmf->address, vmf->pte);
-       } else {
-+              /* Skip spurious TLB flush for retried page fault */
-+              if (vmf->flags & FAULT_FLAG_TRIED)
-+                      goto unlock;
-               /*
-                * This is needed only for protection faults but the arch code
-                * is not yet telling us if this is a protection fault or not.
--- 
-2.25.1
-
index 03cc89a1703eeb82a61b144b695c7d06419235e0..8953159a8f17d6268d50b923b0f2f1e5d24631eb 100644 (file)
@@ -87,7 +87,6 @@ drm-amd-display-trigger-modesets-on-mst-dsc-connecto.patch
 drm-amd-display-add-additional-config-guards-for-dcn.patch
 drm-amd-display-fix-dmesg-warning-from-setting-abm-l.patch
 mm-vunmap-add-cond_resched-in-vunmap_pmd_range.patch
-mm-memory.c-skip-spurious-tlb-flush-for-retried-page.patch
 edac-sb_edac-get-rid-of-unused-vars.patch
 edac-skx_common-get-rid-of-unused-type-var.patch
 edac-i7core-sb-pnd2-skx-fix-error-event-severity.patch