|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH 3/9] mm: name pointers to copied PTE values ptentp
Subject line is very confusing. Perhaps something like the following.
mm: Rename pointers to copied PTE values as ptentp
But even 'copied PTE values' is not very clear as well.
On Thu, Aug 06, 2026 at 09:38:41AM +0100, Muhammad Usama Anjum wrote:
> The hw_pte_t conversion must retain pte_t * for pointers to standalone PTE
We need to explain what is `standalone PTE values` first.
> values. Name the value parameters ptentp in the install_pte callback,
> write_protect_page(), and guard_install_set_pte() so the later mechanical
> conversion can distinguish them from pointers to PTE table storage.
>
> Some functions already use the ptentp name, including:
> - madvise_folio_pte_batch()
> - folio_pte_batch_flags()
> No need to convert them.
>
> This is a naming-only change.
Small nit - s/naming-only/rename
The commit message needs rewrite clearly explaining the following details
- What are standalone PTE values
- How these are different from HW pgtable pointers
- Change is just a rename for pointers into such 'standalone PTE'
- These renamed 'ptentp' here would be used for skip or replaced during
upcoming mechanical change via a script
- No functional changes intended
>
> Signed-off-by: Muhammad Usama Anjum <usama.anjum@xxxxxxx>
> ---
> Changes since RFC v1:
> - Update the description for the architecture opt-in conversion.
> ---
> include/linux/pagewalk.h | 2 +-
> mm/ksm.c | 4 ++--
> mm/madvise.c | 4 ++--
> 3 files changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/include/linux/pagewalk.h b/include/linux/pagewalk.h
> index b41d7265c01bc..c34d826c5e4a2 100644
> --- a/include/linux/pagewalk.h
> +++ b/include/linux/pagewalk.h
> @@ -89,7 +89,7 @@ struct mm_walk_ops {
> struct mm_walk *walk);
> void (*post_vma)(struct mm_walk *walk);
> int (*install_pte)(unsigned long addr, unsigned long next,
> - pte_t *ptep, struct mm_walk *walk);
> + pte_t *ptentp, struct mm_walk *walk);
> enum page_walk_lock walk_lock;
> };
>
> diff --git a/mm/ksm.c b/mm/ksm.c
> index ad05d7791307e..11d50518d02e9 100644
> --- a/mm/ksm.c
> +++ b/mm/ksm.c
> @@ -1292,7 +1292,7 @@ static u32 calc_checksum(struct page *page)
> }
>
> static int write_protect_page(struct vm_area_struct *vma, struct folio
> *folio,
> - pte_t *orig_pte)
> + pte_t *ptentp)
> {
> struct mm_struct *mm = vma->vm_mm;
> DEFINE_FOLIO_VMA_WALK(pvmw, folio, vma, 0, 0);
> @@ -1371,7 +1371,7 @@ static int write_protect_page(struct vm_area_struct
> *vma, struct folio *folio,
>
> set_pte_at(mm, pvmw.address, pvmw.pte, entry);
> }
> - *orig_pte = entry;
> + *ptentp = entry;
> err = 0;
>
> out_unlock:
> diff --git a/mm/madvise.c b/mm/madvise.c
> index 07a21ca31bad4..c324cc991f841 100644
> --- a/mm/madvise.c
> +++ b/mm/madvise.c
> @@ -1101,12 +1101,12 @@ static int guard_install_pte_entry(pte_t *pte,
> unsigned long addr,
> }
>
> static int guard_install_set_pte(unsigned long addr, unsigned long next,
> - pte_t *ptep, struct mm_walk *walk)
> + pte_t *ptentp, struct mm_walk *walk)
> {
> unsigned long *nr_pages = (unsigned long *)walk->private;
>
> /* Simply install a PTE marker, this causes segfault on access. */
> - *ptep = make_pte_marker(PTE_MARKER_GUARD);
> + *ptentp = make_pte_marker(PTE_MARKER_GUARD);
> (*nr_pages)++;
>
> return 0;
> --
> 2.47.3
>
How did we ensure that the above changes are comprehensive and nothing
else got left in here ?
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |