Linux PARISC architecture development
 help / color / mirror / Atom feed
From: Muhammad Usama Anjum <usama.anjum@arm.com>
To: Anshuman Khandual <anshuman.khandual@arm.com>
Cc: usama.anjum@arm.com, Jani Nikula <jani.nikula@linux.intel.com>,
	Joonas Lahtinen <joonas.lahtinen@linux.intel.com>,
	Rodrigo Vivi <rodrigo.vivi@intel.com>,
	Tvrtko Ursulin <tursulin@ursulin.net>,
	David Airlie <airlied@gmail.com>, Simona Vetter <simona@ffwll.ch>,
	Dimitri Sivanich <dimitri.sivanich@hpe.com>,
	Arnd Bergmann <arnd@arndb.de>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	"James E.J. Bottomley" <James.Bottomley@hansenpartnership.com>,
	Helge Deller <deller@gmx.de>, Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Muchun Song <muchun.song@linux.dev>,
	Oscar Salvador <osalvador@suse.de>,
	Andrew Morton <akpm@linux-foundation.org>,
	"Liam R. Howlett" <liam@infradead.org>,
	Lorenzo Stoakes <ljs@kernel.org>, Will Deacon <will@kernel.org>,
	"Aneesh Kumar K.V" <aneesh.kumar@kernel.org>,
	Nick Piggin <npiggin@gmail.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Andrey Ryabinin <ryabinin.a.a@gmail.com>,
	David Hildenbrand <david@kernel.org>,
	Pasha Tatashin <pasha.tatashin@soleen.com>,
	Chris Li <chrisl@kernel.org>, Kairui Song <kasong@tencent.com>,
	Uladzislau Rezki <urezki@gmail.com>,
	Steven Rostedt <rostedt@goodmis.org>,
	Masami Hiramatsu <mhiramat@kernel.org>,
	Alexei Starovoitov <ast@kernel.org>,
	Daniel Borkmann <daniel@iogearbox.net>,
	Andrii Nakryiko <andrii@kernel.org>,
	Eduard Zingerman <eddyz87@gmail.com>,
	Kumar Kartikeya Dwivedi <memxor@gmail.com>,
	Ingo Molnar <mingo@redhat.com>,
	Arnaldo Carvalho de Melo <acme@kernel.org>,
	Namhyung Kim <namhyung@kernel.org>, SJ Park <sj@kernel.org>,
	"Matthew Wilcox (Oracle)" <willy@infradead.org>,
	Jan Kara <jack@suse.cz>, Jason Gunthorpe <jgg@ziepe.ca>,
	Leon Romanovsky <leon@kernel.org>,
	Miaohe Lin <linmiaohe@huawei.com>,
	Dennis Zhou <dennis@kernel.org>, Tejun Heo <tj@kernel.org>,
	Christoph Lameter <cl@gentwo.org>,
	Mike Rapoport <rppt@kernel.org>,
	Johannes Weiner <hannes@cmpxchg.org>,
	ziy@nvidia.com, pfalcato@suse.de, agordeev@linux.ibm.com,
	ryan.roberts@arm.com, linux-kernel@vger.kernel.org,
	intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org,
	linux-parisc@vger.kernel.org, xen-devel@lists.xenproject.org,
	linux-mm@kvack.org, linux-fsdevel@vger.kernel.org,
	linux-arch@vger.kernel.org, kasan-dev@googlegroups.com,
	linux-trace-kernel@vger.kernel.org, bpf@vger.kernel.org,
	linux-perf-users@vger.kernel.org, damon@lists.linux.dev
Subject: Re: [PATCH 3/9] mm: name pointers to copied PTE values ptentp
Date: Tue, 11 Aug 2026 15:09:07 +0100	[thread overview]
Message-ID: <b21c4cc9-84a3-429e-8156-0b9967b2f133@arm.com> (raw)
In-Reply-To: <e7osakog3yvdewhdlrk3bsp27pwt2nnhroeb7zihlfxyjotarb@rwxkcb25crh3>

On 11/08/2026 11:58 am, Anshuman Khandual wrote:
> 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.

Something like:

mm: rename pointers to logical PTE values as ptentp

or

mm: rename pointers to software PTE values as ptentp

> 
> 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

I'll fix it.

> 
> The commit message needs rewrite clearly explaining the following details
> 
> - What are standalone PTE values
Logical/software PTE is correct and better name here.

> - 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
I'll update message in more elaborate way.

> 
>>
>> Signed-off-by: Muhammad Usama Anjum <usama.anjum@arm.com>
>> ---
>> 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 ?

The order of patches and even the code was found out after adding hw_pte_t
structure. Then everything was converted, until some pte_t pointers were left
which didn't require conversion.

If something is left, we'll get build errors when we build a converted architecture.
So the branch mentioned in the cover letter when built, would produce build errors.
(Those patches would be sent separately, after finalization of this series).

Whenever I'm rebasing (on mm-new), I'm rerunning Coccinelle script to see if new code
has arrived which requires conversion or renaming.

-- 
Thanks,
Usama


  reply	other threads:[~2026-08-11 14:09 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-06  8:38 [PATCH 0/9] mm: distinguish PTE table storage from PTE values Muhammad Usama Anjum
2026-08-06  8:38 ` [PATCH 1/9] mm: introduce hw_pte_t for PTE table storage Muhammad Usama Anjum
2026-08-07  7:09   ` Alexander Gordeev
2026-08-07 15:24     ` Muhammad Usama Anjum
2026-08-09 17:45       ` Alexander Gordeev
2026-08-10 10:09         ` Muhammad Usama Anjum
2026-08-10 11:20           ` David Hildenbrand (Arm)
2026-08-11  9:47             ` Anshuman Khandual
2026-08-06  8:38 ` [PATCH 2/9] mm: make hw_pte_t visible to generic PTE interfaces Muhammad Usama Anjum
2026-08-11 10:15   ` Anshuman Khandual
2026-08-11 11:25     ` Muhammad Usama Anjum
2026-08-11 11:27       ` Muhammad Usama Anjum
2026-08-06  8:38 ` [PATCH 3/9] mm: name pointers to copied PTE values ptentp Muhammad Usama Anjum
2026-08-11 10:58   ` Anshuman Khandual
2026-08-11 14:09     ` Muhammad Usama Anjum [this message]
2026-08-06  8:38 ` [PATCH 4/9] mm: use hw_pte_t for generic PTE table storage Muhammad Usama Anjum
2026-08-06  8:38 ` [PATCH 5/9] mm: convert PTE table entries in ptep_get() Muhammad Usama Anjum
2026-08-06  8:38 ` [PATCH 6/9] mm: convert PTE table entry to pte Muhammad Usama Anjum
2026-08-07  6:58   ` Alexander Gordeev
2026-08-07 16:26     ` Muhammad Usama Anjum
2026-08-10  6:44       ` Alexander Gordeev
2026-08-10 11:06         ` Muhammad Usama Anjum
2026-08-11 12:11           ` David Hildenbrand (Arm)
2026-08-06  8:38 ` [PATCH 7/9] mm/kasan: use hw_pte_t for the early shadow PTE table Muhammad Usama Anjum
2026-08-06  8:38 ` [PATCH 8/9] drm/i915: use hw_pte_t for PTE range callbacks Muhammad Usama Anjum
2026-08-06  8:38 ` [PATCH 9/9] xen: " Muhammad Usama Anjum

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=b21c4cc9-84a3-429e-8156-0b9967b2f133@arm.com \
    --to=usama.anjum@arm.com \
    --cc=James.Bottomley@hansenpartnership.com \
    --cc=acme@kernel.org \
    --cc=agordeev@linux.ibm.com \
    --cc=airlied@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=andrii@kernel.org \
    --cc=aneesh.kumar@kernel.org \
    --cc=anshuman.khandual@arm.com \
    --cc=arnd@arndb.de \
    --cc=ast@kernel.org \
    --cc=bpf@vger.kernel.org \
    --cc=chrisl@kernel.org \
    --cc=cl@gentwo.org \
    --cc=damon@lists.linux.dev \
    --cc=daniel@iogearbox.net \
    --cc=david@kernel.org \
    --cc=deller@gmx.de \
    --cc=dennis@kernel.org \
    --cc=dimitri.sivanich@hpe.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=eddyz87@gmail.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=hannes@cmpxchg.org \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=jack@suse.cz \
    --cc=jani.nikula@linux.intel.com \
    --cc=jgg@ziepe.ca \
    --cc=jgross@suse.com \
    --cc=joonas.lahtinen@linux.intel.com \
    --cc=kasan-dev@googlegroups.com \
    --cc=kasong@tencent.com \
    --cc=leon@kernel.org \
    --cc=liam@infradead.org \
    --cc=linmiaohe@huawei.com \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-parisc@vger.kernel.org \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=linux-trace-kernel@vger.kernel.org \
    --cc=ljs@kernel.org \
    --cc=memxor@gmail.com \
    --cc=mhiramat@kernel.org \
    --cc=mingo@redhat.com \
    --cc=muchun.song@linux.dev \
    --cc=namhyung@kernel.org \
    --cc=npiggin@gmail.com \
    --cc=osalvador@suse.de \
    --cc=pasha.tatashin@soleen.com \
    --cc=peterz@infradead.org \
    --cc=pfalcato@suse.de \
    --cc=rodrigo.vivi@intel.com \
    --cc=rostedt@goodmis.org \
    --cc=rppt@kernel.org \
    --cc=ryabinin.a.a@gmail.com \
    --cc=ryan.roberts@arm.com \
    --cc=simona@ffwll.ch \
    --cc=sj@kernel.org \
    --cc=sstabellini@kernel.org \
    --cc=tj@kernel.org \
    --cc=tursulin@ursulin.net \
    --cc=urezki@gmail.com \
    --cc=will@kernel.org \
    --cc=willy@infradead.org \
    --cc=xen-devel@lists.xenproject.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