* [PATCH] mm/page_idle.c: remove redundant mmu notifier in aging code
@ 2026-02-03 10:26 qinyu
2026-02-04 1:27 ` Baolin Wang
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: qinyu @ 2026-02-03 10:26 UTC (permalink / raw)
To: akpm, david; +Cc: linux-mm, qinyu
now we have mmu_notifier_clear_young immediately follows
pmdp_clear_young_notify which internally call mmu_notifier_clear_young,
this is redundant. change it with non-notify variant and keep consistent
with ptep aging code.
Signed-off-by: qinyu <qin.yuA@h3c.com>
---
mm/page_idle.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mm/page_idle.c b/mm/page_idle.c
index 96bb94c7b..9c67cbac2 100644
--- a/mm/page_idle.c
+++ b/mm/page_idle.c
@@ -74,7 +74,7 @@ static bool page_idle_clear_pte_refs_one(struct folio *folio,
pmd_t pmdval = pmdp_get(pvmw.pmd);
if (likely(pmd_present(pmdval)))
- referenced |= pmdp_clear_young_notify(vma, addr, pvmw.pmd);
+ referenced |= pmdp_test_and_clear_young(vma, addr, pvmw.pmd);
referenced |= mmu_notifier_clear_young(vma->vm_mm, addr, addr + PMD_SIZE);
} else {
/* unexpected pmd-mapped page? */
--
2.33.0
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] mm/page_idle.c: remove redundant mmu notifier in aging code
2026-02-03 10:26 [PATCH] mm/page_idle.c: remove redundant mmu notifier in aging code qinyu
@ 2026-02-04 1:27 ` Baolin Wang
2026-02-04 6:10 ` SeongJae Park
2026-02-04 17:04 ` David Hildenbrand (arm)
2 siblings, 0 replies; 5+ messages in thread
From: Baolin Wang @ 2026-02-04 1:27 UTC (permalink / raw)
To: qinyu, akpm, david; +Cc: linux-mm
On 2/3/26 6:26 PM, qinyu wrote:
> now we have mmu_notifier_clear_young immediately follows
> pmdp_clear_young_notify which internally call mmu_notifier_clear_young,
> this is redundant. change it with non-notify variant and keep consistent
> with ptep aging code.
>
> Signed-off-by: qinyu <qin.yuA@h3c.com>
> ---
LGTM.
Reviewed-by: Baolin Wang <baolin.wang@linux.alibaba.com>
> mm/page_idle.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/mm/page_idle.c b/mm/page_idle.c
> index 96bb94c7b..9c67cbac2 100644
> --- a/mm/page_idle.c
> +++ b/mm/page_idle.c
> @@ -74,7 +74,7 @@ static bool page_idle_clear_pte_refs_one(struct folio *folio,
> pmd_t pmdval = pmdp_get(pvmw.pmd);
>
> if (likely(pmd_present(pmdval)))
> - referenced |= pmdp_clear_young_notify(vma, addr, pvmw.pmd);
> + referenced |= pmdp_test_and_clear_young(vma, addr, pvmw.pmd);
> referenced |= mmu_notifier_clear_young(vma->vm_mm, addr, addr + PMD_SIZE);
> } else {
> /* unexpected pmd-mapped page? */
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] mm/page_idle.c: remove redundant mmu notifier in aging code
2026-02-03 10:26 [PATCH] mm/page_idle.c: remove redundant mmu notifier in aging code qinyu
2026-02-04 1:27 ` Baolin Wang
@ 2026-02-04 6:10 ` SeongJae Park
2026-02-04 17:04 ` David Hildenbrand (arm)
2 siblings, 0 replies; 5+ messages in thread
From: SeongJae Park @ 2026-02-04 6:10 UTC (permalink / raw)
To: qinyu; +Cc: SeongJae Park, akpm, david, linux-mm
On Tue, 3 Feb 2026 18:26:49 +0800 qinyu <qin.yuA@h3c.com> wrote:
> now we have mmu_notifier_clear_young immediately follows
> pmdp_clear_young_notify which internally call mmu_notifier_clear_young,
> this is redundant. change it with non-notify variant and keep consistent
> with ptep aging code.
>
> Signed-off-by: qinyu <qin.yuA@h3c.com>
Reviewed-by: SeongJae Park <sj@kernel.org>
Thanks,
SJ
[...]
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] mm/page_idle.c: remove redundant mmu notifier in aging code
2026-02-03 10:26 [PATCH] mm/page_idle.c: remove redundant mmu notifier in aging code qinyu
2026-02-04 1:27 ` Baolin Wang
2026-02-04 6:10 ` SeongJae Park
@ 2026-02-04 17:04 ` David Hildenbrand (arm)
2026-02-05 1:27 ` SeongJae Park
2 siblings, 1 reply; 5+ messages in thread
From: David Hildenbrand (arm) @ 2026-02-04 17:04 UTC (permalink / raw)
To: qinyu, akpm; +Cc: linux-mm
On 2/3/26 11:26, qinyu wrote:
> now we have mmu_notifier_clear_young immediately follows
> pmdp_clear_young_notify which internally call mmu_notifier_clear_young,
> this is redundant. change it with non-notify variant and keep consistent
> with ptep aging code.
>
> Signed-off-by: qinyu <qin.yuA@h3c.com>
> ---
> mm/page_idle.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/mm/page_idle.c b/mm/page_idle.c
> index 96bb94c7b..9c67cbac2 100644
> --- a/mm/page_idle.c
> +++ b/mm/page_idle.c
> @@ -74,7 +74,7 @@ static bool page_idle_clear_pte_refs_one(struct folio *folio,
> pmd_t pmdval = pmdp_get(pvmw.pmd);
>
> if (likely(pmd_present(pmdval)))
> - referenced |= pmdp_clear_young_notify(vma, addr, pvmw.pmd);
> + referenced |= pmdp_test_and_clear_young(vma, addr, pvmw.pmd);
> referenced |= mmu_notifier_clear_young(vma->vm_mm, addr, addr + PMD_SIZE);
> } else {
> /* unexpected pmd-mapped page? */
... and it's now consistent with the pte case.
Will you also take care of mm/damon/ops-common.c:damon_pmdp_mkold() that
does the same thing?
Acked-by: David Hildenbrand (arm) <david@kernel.org>
--
Cheers,
David
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] mm/page_idle.c: remove redundant mmu notifier in aging code
2026-02-04 17:04 ` David Hildenbrand (arm)
@ 2026-02-05 1:27 ` SeongJae Park
0 siblings, 0 replies; 5+ messages in thread
From: SeongJae Park @ 2026-02-05 1:27 UTC (permalink / raw)
To: David Hildenbrand (arm); +Cc: SeongJae Park, qinyu, akpm, linux-mm
On Wed, 4 Feb 2026 18:04:34 +0100 "David Hildenbrand (arm)" <david@kernel.org> wrote:
> On 2/3/26 11:26, qinyu wrote:
> > now we have mmu_notifier_clear_young immediately follows
> > pmdp_clear_young_notify which internally call mmu_notifier_clear_young,
> > this is redundant. change it with non-notify variant and keep consistent
> > with ptep aging code.
> >
> > Signed-off-by: qinyu <qin.yuA@h3c.com>
> > ---
> > mm/page_idle.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/mm/page_idle.c b/mm/page_idle.c
> > index 96bb94c7b..9c67cbac2 100644
> > --- a/mm/page_idle.c
> > +++ b/mm/page_idle.c
> > @@ -74,7 +74,7 @@ static bool page_idle_clear_pte_refs_one(struct folio *folio,
> > pmd_t pmdval = pmdp_get(pvmw.pmd);
> >
> > if (likely(pmd_present(pmdval)))
> > - referenced |= pmdp_clear_young_notify(vma, addr, pvmw.pmd);
> > + referenced |= pmdp_test_and_clear_young(vma, addr, pvmw.pmd);
> > referenced |= mmu_notifier_clear_young(vma->vm_mm, addr, addr + PMD_SIZE);
> > } else {
> > /* unexpected pmd-mapped page? */
>
>
> ... and it's now consistent with the pte case.
>
> Will you also take care of mm/damon/ops-common.c:damon_pmdp_mkold() that
> does the same thing?
Thank you for suggesting that, David. And thankfully qinyu did:
https://lore.kernel.org/20260203095400.2465255-1-qin.yuA@h3c.com
Thanks,
SJ
[...]
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2026-02-05 1:27 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-02-03 10:26 [PATCH] mm/page_idle.c: remove redundant mmu notifier in aging code qinyu
2026-02-04 1:27 ` Baolin Wang
2026-02-04 6:10 ` SeongJae Park
2026-02-04 17:04 ` David Hildenbrand (arm)
2026-02-05 1:27 ` SeongJae Park
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox