[PATCH 13/13] mm: Remove pointless barrier() after pmdp_get_lockless()

From: Peter Zijlstra
Date: Sat Oct 22 2022 - 07:48:56 EST


pmdp_get_lockless() should itself imply any ordering required.

Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
---
mm/hmm.c | 1 -
mm/vmscan.c | 3 ---
2 files changed, 4 deletions(-)

--- a/mm/hmm.c
+++ b/mm/hmm.c
@@ -362,7 +362,6 @@ static int hmm_vma_walk_pmd(pmd_t *pmdp,
* values.
*/
pmd = pmdp_get_lockless(pmdp);
- barrier();
if (!pmd_devmap(pmd) && !pmd_trans_huge(pmd))
goto again;

--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -4041,9 +4041,6 @@ static void walk_pmd_range(pud_t *pud, u
for (i = pmd_index(start), addr = start; addr != end; i++, addr = next) {
pmd_t val = pmdp_get_lockless(pmd + i);

- /* for pmdp_get_lockless() */
- barrier();
-
next = pmd_addr_end(addr, end);

if (!pmd_present(val) || is_huge_zero_pmd(val)) {