[PATCH] mm: Replace READ_ONCE() in pud_trans_unstable()

Anshuman Khandual posted 1 patch 1 month, 1 week ago
include/linux/pgtable.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] mm: Replace READ_ONCE() in pud_trans_unstable()
Posted by Anshuman Khandual 1 month, 1 week ago
Replace READ_ONCE() with the existing standard page table accessor for PUD
aka pudp_get() in pud_trans_unstable(). This does not create any functional
change for platforms that do not override pudp_get(), which still defaults
to READ_ONCE().

Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: David Hildenbrand <david@kernel.org>
Cc: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
Cc: Mike Rapoport <rppt@kernel.org>
Cc: linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
---
This patch applies both on v7.0-rc1 and mm-unstable.

Part of the D128 series but independent. Hence could be considered on its own.

https://lore.kernel.org/all/20260224051153.3150613-4-anshuman.khandual@arm.com/

 include/linux/pgtable.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/linux/pgtable.h b/include/linux/pgtable.h
index a50df42a893f..d4826447bc93 100644
--- a/include/linux/pgtable.h
+++ b/include/linux/pgtable.h
@@ -1989,7 +1989,7 @@ static inline int pud_trans_unstable(pud_t *pud)
 {
 #if defined(CONFIG_TRANSPARENT_HUGEPAGE) && \
 	defined(CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD)
-	pud_t pudval = READ_ONCE(*pud);
+	pud_t pudval = pudp_get(pud);
 
 	if (pud_none(pudval) || pud_trans_huge(pudval))
 		return 1;
-- 
2.30.2
Re: [PATCH] mm: Replace READ_ONCE() in pud_trans_unstable()
Posted by Lorenzo Stoakes 1 month ago
On Fri, Feb 27, 2026 at 04:03:00AM +0000, Anshuman Khandual wrote:
> Replace READ_ONCE() with the existing standard page table accessor for PUD
> aka pudp_get() in pud_trans_unstable(). This does not create any functional
> change for platforms that do not override pudp_get(), which still defaults
> to READ_ONCE().
>
> Cc: Andrew Morton <akpm@linux-foundation.org>
> Cc: David Hildenbrand <david@kernel.org>
> Cc: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
> Cc: Mike Rapoport <rppt@kernel.org>
> Cc: linux-mm@kvack.org
> Cc: linux-kernel@vger.kernel.org
> Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>

LGTM so:

Reviewed-by: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>

> ---
> This patch applies both on v7.0-rc1 and mm-unstable.
>
> Part of the D128 series but independent. Hence could be considered on its own.
>
> https://lore.kernel.org/all/20260224051153.3150613-4-anshuman.khandual@arm.com/
>
>  include/linux/pgtable.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/include/linux/pgtable.h b/include/linux/pgtable.h
> index a50df42a893f..d4826447bc93 100644
> --- a/include/linux/pgtable.h
> +++ b/include/linux/pgtable.h
> @@ -1989,7 +1989,7 @@ static inline int pud_trans_unstable(pud_t *pud)
>  {
>  #if defined(CONFIG_TRANSPARENT_HUGEPAGE) && \
>  	defined(CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD)
> -	pud_t pudval = READ_ONCE(*pud);
> +	pud_t pudval = pudp_get(pud);
>
>  	if (pud_none(pudval) || pud_trans_huge(pudval))
>  		return 1;
> --
> 2.30.2
>
Re: [PATCH] mm: Replace READ_ONCE() in pud_trans_unstable()
Posted by SeongJae Park 1 month, 1 week ago
On Fri, 27 Feb 2026 04:03:00 +0000 Anshuman Khandual <anshuman.khandual@arm.com> wrote:

> Replace READ_ONCE() with the existing standard page table accessor for PUD
> aka pudp_get() in pud_trans_unstable(). This does not create any functional
> change for platforms that do not override pudp_get(), which still defaults
> to READ_ONCE().
> 
> Cc: Andrew Morton <akpm@linux-foundation.org>
> Cc: David Hildenbrand <david@kernel.org>
> Cc: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
> Cc: Mike Rapoport <rppt@kernel.org>
> Cc: linux-mm@kvack.org
> Cc: linux-kernel@vger.kernel.org
> Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>

Acked-by: SeongJae Park <sj@kernel.org>


Thanks,
SJ

[...]
Re: [PATCH] mm: Replace READ_ONCE() in pud_trans_unstable()
Posted by David Hildenbrand (Arm) 1 month, 1 week ago
On 2/27/26 05:03, Anshuman Khandual wrote:
> Replace READ_ONCE() with the existing standard page table accessor for PUD
> aka pudp_get() in pud_trans_unstable(). This does not create any functional
> change for platforms that do not override pudp_get(), which still defaults
> to READ_ONCE().
> 
> Cc: Andrew Morton <akpm@linux-foundation.org>
> Cc: David Hildenbrand <david@kernel.org>
> Cc: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
> Cc: Mike Rapoport <rppt@kernel.org>
> Cc: linux-mm@kvack.org
> Cc: linux-kernel@vger.kernel.org
> Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
> ---

Acked-by: David Hildenbrand (Arm) <david@kernel.org>

-- 
Cheers,

David