Re: [PATCH v2 1/5] mm,hugetlb: Change mechanism to detect a COW on private mapping
From: Oscar Salvador
Date: Wed Jun 25 2025 - 03:49:44 EST
On Mon, Jun 23, 2025 at 04:09:51PM +0200, David Hildenbrand wrote:
>
> > - /*
> > - * hugetlb_wp() requires page locks of pte_page(vmf.orig_pte) and
> > - * pagecache_folio, so here we need take the former one
> > - * when folio != pagecache_folio or !pagecache_folio.
> > - */
> > + /* hugetlb_wp() requires page locks of pte_page(vmf.orig_pte) */
> > folio = page_folio(pte_page(vmf.orig_pte));
> > - if (folio != pagecache_folio)
> > - if (!folio_trylock(folio)) {
> > - need_wait_lock = 1;
> > - goto out_ptl;
> > - }
> > -
> > + folio_lock(folio);
> > folio_get(folio);
>
> Just realized that this won't work for this patch here, as we are holding
> the PTL.
>
> In patch #2 you do the right thing.
Yap, missed that.
I might have to do the lock-unlock-dance here, and then in patch#2 move
it to hugetlb_wp.
Sounds reasonable?
--
Oscar Salvador
SUSE Labs