Re: [PATCH v2] mm/page_vma_mapped_walk: Use ptep_get_lockless() for lockless access
From: Wei Yang
Date: Thu May 07 2026 - 05:35:11 EST
On Mon, May 04, 2026 at 03:04:34PM +0200, Alexander Gordeev wrote:
>Switch from ptep_get() to ptep_get_lockless() accessor for
>PTE reads when no lock is taken.
>
>Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxxxxx>
>---
> mm/page_vma_mapped.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
>diff --git a/mm/page_vma_mapped.c b/mm/page_vma_mapped.c
>index a4d52fdb3056..6559e17f11c2 100644
>--- a/mm/page_vma_mapped.c
>+++ b/mm/page_vma_mapped.c
>@@ -41,7 +41,7 @@ static bool map_pte(struct page_vma_mapped_walk *pvmw, pmd_t *pmdvalp,
> if (!pvmw->pte)
> return false;
>
>- ptent = ptep_get(pvmw->pte);
>+ ptent = ptep_get_lockless(pvmw->pte);
>
> if (pte_none(ptent)) {
> return false;
>@@ -310,7 +310,7 @@ bool page_vma_mapped_walk(struct page_vma_mapped_walk *pvmw)
> goto restart;
> }
> pvmw->pte++;
>- } while (pte_none(ptep_get(pvmw->pte)));
>+ } while (pte_none(ptep_get_lockless(pvmw->pte)));
As Oscar mentioned in lkml.org/lkml/2026/4/27/630, map_pte() may take the
lock. So probably it is not right?
>
> if (!pvmw->ptl) {
> spin_lock(ptl);
>--
>2.51.0
>
--
Wei Yang
Help you, Help me