All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lance Yang <lance.yang@linux.dev>
To: dev.jain@arm.com
Cc: lance.yang@linux.dev, linmiaohe@huawei.com,
	muchun.song@linux.dev, osalvador@suse.de,
	akpm@linux-foundation.org, ljs@kernel.org, david@kernel.org,
	liam@infradead.org, riel@surriel.com, vbabka@kernel.org,
	harry@kernel.org, jannh@google.com, kas@kernel.org,
	linux-mm@kvack.org, linux-kernel@vger.kernel.org,
	rcampbell@nvidia.com, apopple@nvidia.com, ziy@nvidia.com,
	matthew.brost@intel.com, joshua.hahnjy@gmail.com,
	rakie.kim@sk.com, byungchul@sk.com, gourry@gourry.net,
	ying.huang@linux.alibaba.com, mel@csn.ul.ie,
	nao.horiguchi@gmail.com, ak@linux.intel.com,
	j-nomura@ce.jp.nec.com, pfalcato@suse.de, dave.hansen@intel.com,
	tglx@kernel.org, jpoimboe@kernel.org, ryan.roberts@arm.com,
	anshuman.khandual@arm.com, stable@vger.kernel.org
Subject: Re: [PATCH 4/5] mm/page_vma_mapped: use huge_ptep_get() for hugetlb
Date: Sun, 28 Jun 2026 13:44:02 +0800	[thread overview]
Message-ID: <20260628054402.76978-1-lance.yang@linux.dev> (raw)
In-Reply-To: <82395f5a-31d4-406b-b7ec-10d1a9d067d4@arm.com>


On Sat, Jun 27, 2026 at 12:43:31PM +0530, Dev Jain wrote:
>
>
>On 26/06/26 10:16 pm, Lance Yang wrote:
[...]
>> 
>> Just thinking out loud: given that huge_ptep_get() already assumes that
>> addr matches the huge pte, at least on arm64, would it make sense to
>> have a small hugetlb wrapper around it that takes hstate and aligns
>> the address before calling the arch helper?
>> 
>> Might make the rule clearer, and a bit harder to get wrong again :)
>
>Are you suggesting something like:

Yes, that's what I had in mind :) thanks!

>diff --git a/include/linux/hugetlb.h b/include/linux/hugetlb.h
>index fdb7bdf7645c..xxxxxxxxxxxx 100644
>--- a/include/linux/hugetlb.h
>+++ b/include/linux/hugetlb.h
>@@ -825,6 +825,15 @@ static inline struct folio *filemap_lock_hugetlb_folio(struct hstate *h,
>
> #include <asm/hugetlb.h>

Maybe worth spelling out the rule as well: 

For arch helpers that use addr, huge_ptep_get() assumes addr is the
address for the hugetlb entry ptep points to. arm64 already makes that
assumption.

Callers where addr may not be hugepage-aligned should use
hugetlb_ptep_get() instead.

>+static inline pte_t hugetlb_ptep_get(struct vm_area_struct *vma,
>+				     unsigned long addr, pte_t *ptep)
>+{
>+	struct hstate *h = hstate_vma(vma);
>+
>+	return huge_ptep_get(vma->vm_mm, addr & huge_page_mask(h), ptep);
>+}
>+
> #ifndef is_hugepage_only_range
> static inline int is_hugepage_only_range(struct mm_struct *mm,
> 					unsigned long addr, unsigned long len)
>diff --git a/mm/page_vma_mapped.c b/mm/page_vma_mapped.c
>index 18e1d341f463..xxxxxxxxxxxx 100644
>--- a/mm/page_vma_mapped.c
>+++ b/mm/page_vma_mapped.c
>@@ -110,8 +110,7 @@ static bool check_pte(struct page_vma_mapped_walk *pvmw, unsigned long pte_nr)
> 	pte_t ptent;
>
> 	if (is_vm_hugetlb_page(pvmw->vma))
>-		ptent = huge_ptep_get(pvmw->vma->vm_mm, pvmw->address,
>-				      pvmw->pte);
>+		ptent = hugetlb_ptep_get(pvmw->vma, pvmw->address, pvmw->pte);
> 	else
> 		ptent = ptep_get(pvmw->pte);

[...]

Cheers, Lance


  reply	other threads:[~2026-06-28  5:44 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-06-25 11:29 [PATCH 0/5] Fix incorrect access of hugetlb pte entries Dev Jain
2026-06-25 11:29 ` [PATCH 1/5] mm/rmap: use huge_ptep_get() in try_to_unmap_one() Dev Jain
2026-06-26  3:17   ` Muchun Song
2026-06-26  4:03     ` Dev Jain
2026-06-26  4:16       ` Muchun Song
2026-06-25 11:29 ` [PATCH 2/5] mm/rmap: use huge_ptep_get() in try_to_migrate_one() Dev Jain
2026-06-26  3:24   ` Muchun Song
2026-06-25 11:29 ` [PATCH 3/5] mm/migrate: use huge_ptep_get() in remove_migration_pte() Dev Jain
2026-06-26  3:32   ` Muchun Song
2026-06-25 11:29 ` [PATCH 4/5] mm/page_vma_mapped: use huge_ptep_get() for hugetlb Dev Jain
2026-06-26  2:31   ` Lance Yang
2026-06-26  4:06     ` Dev Jain
2026-06-26  7:48   ` Lance Yang
2026-06-26  9:14     ` Lance Yang
2026-06-26 13:23     ` Dev Jain
2026-06-26 14:10       ` Lance Yang
2026-06-26 15:26         ` Dev Jain
2026-06-26 16:46           ` Lance Yang
2026-06-27  3:54             ` Miaohe Lin
2026-06-27  7:13             ` Dev Jain
2026-06-28  5:44               ` Lance Yang [this message]
2026-06-25 11:29 ` [PATCH 5/5] mm/mprotect: " Dev Jain
2026-06-26  3:40   ` Muchun Song
2026-06-26  4:08     ` Dev Jain
2026-06-26  4:21       ` Muchun Song
2026-06-26  4:42         ` Dev Jain
2026-06-25 13:59 ` [PATCH 0/5] Fix incorrect access of hugetlb pte entries Zi Yan
2026-06-26  4:09   ` Dev Jain

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=20260628054402.76978-1-lance.yang@linux.dev \
    --to=lance.yang@linux.dev \
    --cc=ak@linux.intel.com \
    --cc=akpm@linux-foundation.org \
    --cc=anshuman.khandual@arm.com \
    --cc=apopple@nvidia.com \
    --cc=byungchul@sk.com \
    --cc=dave.hansen@intel.com \
    --cc=david@kernel.org \
    --cc=dev.jain@arm.com \
    --cc=gourry@gourry.net \
    --cc=harry@kernel.org \
    --cc=j-nomura@ce.jp.nec.com \
    --cc=jannh@google.com \
    --cc=joshua.hahnjy@gmail.com \
    --cc=jpoimboe@kernel.org \
    --cc=kas@kernel.org \
    --cc=liam@infradead.org \
    --cc=linmiaohe@huawei.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=ljs@kernel.org \
    --cc=matthew.brost@intel.com \
    --cc=mel@csn.ul.ie \
    --cc=muchun.song@linux.dev \
    --cc=nao.horiguchi@gmail.com \
    --cc=osalvador@suse.de \
    --cc=pfalcato@suse.de \
    --cc=rakie.kim@sk.com \
    --cc=rcampbell@nvidia.com \
    --cc=riel@surriel.com \
    --cc=ryan.roberts@arm.com \
    --cc=stable@vger.kernel.org \
    --cc=tglx@kernel.org \
    --cc=vbabka@kernel.org \
    --cc=ying.huang@linux.alibaba.com \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.