[PATCH 04/12] mm: Convert vmf_insert_mixed() from using pte_devmap to pte_special
Jason Gunthorpe
jgg at ziepe.ca
Tue Jun 3 06:37:40 PDT 2025
On Thu, May 29, 2025 at 04:32:05PM +1000, Alistair Popple wrote:
> DAX no longer requires device PTEs as it always has a ZONE_DEVICE page
> associated with the PTE that can be reference counted normally. Other users
> of pte_devmap are drivers that set PFN_DEV when calling vmf_insert_mixed()
> which ensures vm_normal_page() returns NULL for these entries.
>
> There is no reason to distinguish these pte_devmap users so in order to
> free up a PTE bit use pte_special instead for entries created with
> vmf_insert_mixed(). This will ensure vm_normal_page() will continue to
> return NULL for these pages.
>
> Architectures that don't support pte_special also don't support pte_devmap
> so those will continue to rely on pfn_valid() to determine if the page can
> be mapped.
>
> Signed-off-by: Alistair Popple <apopple at nvidia.com>
> ---
> mm/hmm.c | 3 ---
> mm/memory.c | 20 ++------------------
> mm/vmscan.c | 2 +-
> 3 files changed, 3 insertions(+), 22 deletions(-)
Reviewed-by: Jason Gunthorpe <jgg at nvidia.com>
Jason
More information about the linux-riscv
mailing list