Re: [PATCH v6 20/26] mm/mlock: Skip ZONE_DEVICE PMDs during mlock

Alistair Popple
2025-01-17T01:56:29Z

On Mon, Jan 13, 2025 at 06:42:46PM -0800, Dan Williams wrote:
> Alistair Popple wrote:
> > At present mlock skips ptes mapping ZONE_DEVICE pages. A future change
> > to remove pmd_devmap will allow pmd_trans_huge_lock() to return
> > ZONE_DEVICE folios so make sure we continue to skip those.
> >
> > Signed-off-by: Alistair Popple <apopple@nvidia.com>
> > Acked-by: David Hildenbrand <david@redhat.com>
>
> This looks like a fix in that mlock_pte_range() *does* call mlock_folio()
> when pmd_trans_huge_lock() returns a non-NULL @ptl.
>
> So it is not in preparation for a future change it is making the pte and
> pmd cases behave the same to drop mlock requests.
>
> The code change looks good, but do add a Fixes tag and reword the
> changelog a bit before adding:

Yeah, that changelog is a bit whacked. In fact it's not a fix - because
mlock_fixup() (the only caller) already filters dax VMAs. So this is really
about fixing a possible future bug when we start having PMDs for other types of
ZONE_DEVICE pages (ie. private, coherent, etc).

So probably I should just roll this into "mm: Allow compound zone device pages".

> Reviewed-by: Dan Williams <dan.j.williams@intel.com>