From: Jordan Niethe <jniethe@nvidia.com>
To: linux-mm@kvack.org
Cc: balbirs@nvidia.com, matthew.brost@intel.com,
akpm@linux-foundation.org, linux-kernel@vger.kernel.org,
dri-devel@lists.freedesktop.org, david@redhat.com,
ziy@nvidia.com, apopple@nvidia.com, lorenzo.stoakes@oracle.com,
lyude@redhat.com, dakr@kernel.org, airlied@gmail.com,
simona@ffwll.ch, rcampbell@nvidia.com, mpenttil@redhat.com,
jgg@nvidia.com, willy@infradead.org,
linuxppc-dev@lists.ozlabs.org, intel-xe@lists.freedesktop.org,
jgg@ziepe.ca, Felix.Kuehling@amd.com, jniethe@nvidia.com,
jhubbard@nvidia.com, maddy@linux.ibm.com, mpe@ellerman.id.au
Subject: [PATCH v5 09/13] mm: Begin creating device private migration entries
Date: Fri, 30 Jan 2026 22:10:46 +1100 [thread overview]
Message-ID: <20260130111050.53670-10-jniethe@nvidia.com> (raw)
In-Reply-To: <20260130111050.53670-1-jniethe@nvidia.com>
Update the migration entry creation helpers to automatically create
device private migration entries when invoked on device private pages.
The corresponding softleaf predicates have already been updated to
expect both migration and device private migration entries.
Signed-off-by: Jordan Niethe <jniethe@nvidia.com>
---
v3:
- Provided as an individual patch
---
include/linux/swapops.h | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/include/linux/swapops.h b/include/linux/swapops.h
index 220627cb7fff..8b39983792ea 100644
--- a/include/linux/swapops.h
+++ b/include/linux/swapops.h
@@ -206,6 +206,10 @@ static inline swp_entry_t make_readable_migration_entry(pgoff_t offset)
static inline swp_entry_t make_readable_migration_entry_from_page(struct page *page,
pgoff_t flags)
{
+ if (is_device_private_page(page))
+ return make_readable_migration_device_private_entry(
+ page_to_pfn(page) | flags);
+
return swp_entry(SWP_MIGRATION_READ, page_to_pfn(page) | flags);
}
@@ -217,6 +221,10 @@ static inline swp_entry_t make_readable_exclusive_migration_entry(pgoff_t offset
static inline swp_entry_t make_readable_exclusive_migration_entry_from_page(struct page *page,
pgoff_t flags)
{
+ if (is_device_private_page(page))
+ return make_readable_exclusive_migration_device_private_entry(
+ page_to_pfn(page) | flags);
+
return swp_entry(SWP_MIGRATION_READ_EXCLUSIVE, page_to_pfn(page) | flags);
}
@@ -228,6 +236,10 @@ static inline swp_entry_t make_writable_migration_entry(pgoff_t offset)
static inline swp_entry_t make_writable_migration_entry_from_page(struct page *page,
pgoff_t flags)
{
+ if (is_device_private_page(page))
+ return make_writable_migration_device_private_entry(
+ page_to_pfn(page) | flags);
+
return swp_entry(SWP_MIGRATION_WRITE, page_to_pfn(page) | flags);
}
--
2.34.1
next prev parent reply other threads:[~2026-01-30 11:15 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-30 11:10 [PATCH v5 00/13] Remove device private pages from physical address space Jordan Niethe
2026-01-30 11:10 ` [PATCH v5 01/13] mm/migrate_device: Introduce migrate_pfn_from_page() helper Jordan Niethe
2026-01-30 11:10 ` [PATCH v5 02/13] drm/amdkfd: Use migrate pfns internally Jordan Niethe
2026-01-30 11:10 ` [PATCH v5 03/13] mm/migrate_device: Make migrate_device_{pfns,range}() take mpfns Jordan Niethe
2026-01-30 11:10 ` [PATCH v5 04/13] mm/migrate_device: Add migrate PFN flag to track device private pages Jordan Niethe
2026-01-30 11:10 ` [PATCH v5 05/13] mm/page_vma_mapped: Add flag to page_vma_mapped_walk::flags " Jordan Niethe
2026-01-30 11:10 ` [PATCH v5 06/13] mm: Add helpers to create migration entries from struct pages Jordan Niethe
2026-01-30 11:10 ` [PATCH v5 07/13] mm: Add a new swap type for migration entries of device private pages Jordan Niethe
2026-01-30 11:10 ` [PATCH v5 08/13] mm: Add softleaf support for device private migration entries Jordan Niethe
2026-01-30 11:10 ` Jordan Niethe [this message]
2026-01-30 11:10 ` [PATCH v5 10/13] mm: Add helpers to create device private entries from struct pages Jordan Niethe
2026-01-30 11:10 ` [PATCH v5 11/13] mm/util: Add flag to track device private pages in page snapshots Jordan Niethe
2026-01-30 11:10 ` [PATCH v5 12/13] mm/hmm: Add flag to track device private pages Jordan Niethe
2026-01-30 11:10 ` [PATCH v5 13/13] mm: Remove device private pages from the physical address space Jordan Niethe
2026-01-30 21:32 ` Jordan Niethe
2026-02-01 13:03 ` kernel test robot
2026-02-06 13:06 ` [PATCH v5 00/13] Remove device private pages from " David Hildenbrand (Arm)
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260130111050.53670-10-jniethe@nvidia.com \
--to=jniethe@nvidia.com \
--cc=Felix.Kuehling@amd.com \
--cc=airlied@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=apopple@nvidia.com \
--cc=balbirs@nvidia.com \
--cc=dakr@kernel.org \
--cc=david@redhat.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=intel-xe@lists.freedesktop.org \
--cc=jgg@nvidia.com \
--cc=jgg@ziepe.ca \
--cc=jhubbard@nvidia.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=lorenzo.stoakes@oracle.com \
--cc=lyude@redhat.com \
--cc=maddy@linux.ibm.com \
--cc=matthew.brost@intel.com \
--cc=mpe@ellerman.id.au \
--cc=mpenttil@redhat.com \
--cc=rcampbell@nvidia.com \
--cc=simona@ffwll.ch \
--cc=willy@infradead.org \
--cc=ziy@nvidia.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox