Re: [PATCH] mm/damon/vaddr: avoid hw-driven pte updates during damon_hugetlb_mkold()
From: SJ Park
Date: Mon Sep 07 2026 - 14:08:43 EST
On Mon, 7 Sep 2026 10:03:56 -0700 SJ Park <sj@xxxxxxxxxx> wrote:
[...]
> +static bool damon_hugetlb_ptep_mkold(pte_t *pte, struct mm_struct *mm,
> + struct vm_area_struct *vma, unsigned long addr, pte_t *entry)
> +{
> + unsigned long psize = huge_page_size(hstate_vma(vma));
> +
> + if (!pte_young(*entry))
> + return false;
> + *entry = huge_ptep_get_and_clear(mm, addr, pte, psize);
> + *entry = pte_mkold(*entry);
> + set_huge_pte_at(mm, addr, pte, *entry, psize);
> + return true;
Sashiko says [1] this might violate BBM. But this is only for accessed bit
change. So I don't think BBM is required here. Also, we intentionally do not
flush TLB because this is just a best-effort monitoring. Please correct me if
I'm wrong.
[1] https://lore.kernel.org/20260907171613.A09B11F00A3A@xxxxxxxxxxxxxxx
Thanks,
SJ
[...]