Re: [PATCH v6 18/26] mm/gup: Don't allow FOLL_LONGTERM pinning of FS DAX pages
From: Dan Williams
Date: Mon Jan 13 2025 - 21:17:32 EST
Alistair Popple wrote:
> Longterm pinning of FS DAX pages should already be disallowed by
> various pXX_devmap checks. However a future change will cause these
> checks to be invalid for FS DAX pages so make
> folio_is_longterm_pinnable() return false for FS DAX pages.
>
> Signed-off-by: Alistair Popple <apopple@xxxxxxxxxx>
> Reviewed-by: John Hubbard <jhubbard@xxxxxxxxxx>
> Acked-by: David Hildenbrand <david@xxxxxxxxxx>
> ---
> include/linux/mm.h | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/include/linux/mm.h b/include/linux/mm.h
> index f267b06..01edca9 100644
> --- a/include/linux/mm.h
> +++ b/include/linux/mm.h
> @@ -2078,6 +2078,10 @@ static inline bool folio_is_longterm_pinnable(struct folio *folio)
> if (folio_is_device_coherent(folio))
> return false;
>
> + /* DAX must also always allow eviction. */
This 'eviction' terminology seems like it was copied from the
device-memory comment, but with fsdax it does not fit. How about:
/*
* Filesystems can only tolerate transient delays to truncate and
* hole-punch operations
*/
> + if (folio_is_fsdax(folio))
> + return false;
> +
After the comment fixup you can add:
Reviewed-by: Dan Williams <dan.j.williams@xxxxxxxxx>