Re: [PATCH v2 5/8] mm/internal: rename swap offset helpers to softleaf offset
From: Barry Song
Date: Sat Sep 05 2026 - 06:43:03 EST
On Tue, Sep 1, 2026 at 1:44 PM Dev Jain <dev.jain@xxxxxxx> wrote:
>
> In preparation for adding a helper to set softleaf ptes in one go,
> generalize the swap entry helpers shifting the swap offset by delta,
> for softleaves.
>
> Note that the soft-dirty bit, exclusive bit and uffd bit preservation
> will still work for non-swap softleaves, since a softleaf entry is
> constructed out of a type and offset, and those bits are ahead of
> the soft-dirty, exclusive and uffd bits.
>
> For example, for a migration entry, pte_swp_exclusive() will return
> false, as the exclusivity is encoded in the type itself
> (SOFTLEAF_MIGRATION_READ_EXCLUSIVE).
I don't quite understand why you mention this. Is anyone calling
`pte_swp_exclusive()` on a migration entry? Shouldn't it only be called
when `softleaf_is_swap()` is true?
>
> Signed-off-by: Dev Jain <dev.jain@xxxxxxx>
Reviewed-by: Barry Song <baohua@xxxxxxxxxx>
> ---
> mm/internal.h | 29 +++++++++++++++--------------
> mm/memory.c | 4 ++--
> 2 files changed, 17 insertions(+), 16 deletions(-)
>
[...]
>
> /**
> @@ -523,7 +524,7 @@ static inline pte_t pte_next_swp_offset(pte_t pte)
> */
> static inline int swap_pte_batch(pte_t *start_ptep, int max_nr, pte_t pte)
> {
We might find a user for this in the future, in which case we might
want to rename `swap_pte_batch()` to `swap_softleaf_batch()`?
> - pte_t expected_pte = pte_next_swp_offset(pte);
> + pte_t expected_pte = pte_next_softleaf_offset(pte);
Best Regards
Barry