On Thu, Mar 19, 2026 at 11:24:03AM +0800, Baolin Wang wrote: > The pmdp_clear_flush_young() is used to clear the young flag and flush the > TLB, returning whether the young flag was set for this PMD entry. Change > the return type to bool to make the intention clearer. > > Signed-off-by: Baolin Wang <[email protected]>
Some nits, but otherwise LGTM, so: Reviewed-by: Lorenzo Stoakes (Oracle) <[email protected]> > --- > arch/s390/include/asm/pgtable.h | 4 ++-- > arch/x86/include/asm/pgtable.h | 4 ++-- > arch/x86/mm/pgtable.c | 6 +++--- > include/linux/pgtable.h | 10 +++++----- > mm/pgtable-generic.c | 7 ++++--- > 5 files changed, 16 insertions(+), 15 deletions(-) > > diff --git a/arch/s390/include/asm/pgtable.h b/arch/s390/include/asm/pgtable.h > index 1f5efb7be71d..90bba85ca4b8 100644 > --- a/arch/s390/include/asm/pgtable.h > +++ b/arch/s390/include/asm/pgtable.h > @@ -1693,8 +1693,8 @@ static inline bool pmdp_test_and_clear_young(struct > vm_area_struct *vma, > } > > #define __HAVE_ARCH_PMDP_CLEAR_YOUNG_FLUSH > -static inline int pmdp_clear_flush_young(struct vm_area_struct *vma, > - unsigned long addr, pmd_t *pmdp) > +static inline bool pmdp_clear_flush_young(struct vm_area_struct *vma, > + unsigned long addr, pmd_t *pmdp) Same indentation comment as with other patches, 2 tabs you know the drill :) applies to all such in this patch. > { > VM_BUG_ON(addr & ~HPAGE_MASK); > return pmdp_test_and_clear_young(vma, addr, pmdp); > diff --git a/arch/x86/include/asm/pgtable.h b/arch/x86/include/asm/pgtable.h > index bd02ee730a23..f9439449c9bd 100644 > --- a/arch/x86/include/asm/pgtable.h > +++ b/arch/x86/include/asm/pgtable.h > @@ -1301,8 +1301,8 @@ extern int pudp_test_and_clear_young(struct > vm_area_struct *vma, > unsigned long addr, pud_t *pudp); > > #define __HAVE_ARCH_PMDP_CLEAR_YOUNG_FLUSH > -extern int pmdp_clear_flush_young(struct vm_area_struct *vma, > - unsigned long address, pmd_t *pmdp); > +extern bool pmdp_clear_flush_young(struct vm_area_struct *vma, > + unsigned long address, pmd_t *pmdp); Drop the extern please! > > > #define __HAVE_ARCH_PMDP_HUGE_GET_AND_CLEAR > diff --git a/arch/x86/mm/pgtable.c b/arch/x86/mm/pgtable.c > index 10a5e0b2be36..8c336edf0e65 100644 > --- a/arch/x86/mm/pgtable.c > +++ b/arch/x86/mm/pgtable.c > @@ -503,10 +503,10 @@ bool ptep_clear_flush_young(struct vm_area_struct *vma, > } > > #ifdef CONFIG_TRANSPARENT_HUGEPAGE > -int pmdp_clear_flush_young(struct vm_area_struct *vma, > - unsigned long address, pmd_t *pmdp) > +bool pmdp_clear_flush_young(struct vm_area_struct *vma, > + unsigned long address, pmd_t *pmdp) > { > - int young; > + bool young; > > VM_BUG_ON(address & ~HPAGE_PMD_MASK); > > diff --git a/include/linux/pgtable.h b/include/linux/pgtable.h > index e53220b0a9a3..8b8838f19af3 100644 > --- a/include/linux/pgtable.h > +++ b/include/linux/pgtable.h > @@ -536,18 +536,18 @@ bool ptep_clear_flush_young(struct vm_area_struct *vma, > > #ifndef __HAVE_ARCH_PMDP_CLEAR_YOUNG_FLUSH > #ifdef CONFIG_TRANSPARENT_HUGEPAGE > -extern int pmdp_clear_flush_young(struct vm_area_struct *vma, > - unsigned long address, pmd_t *pmdp); > +bool pmdp_clear_flush_young(struct vm_area_struct *vma, > + unsigned long address, pmd_t *pmdp); Ahh! Here you drop the extern :) AND use 2 tabs :)) thanks! > #else > /* > * Despite relevant to THP only, this API is called from generic rmap code > * under PageTransHuge(), hence needs a dummy implementation for !THP > */ > -static inline int pmdp_clear_flush_young(struct vm_area_struct *vma, > - unsigned long address, pmd_t *pmdp) > +static inline bool pmdp_clear_flush_young(struct vm_area_struct *vma, > + unsigned long address, pmd_t *pmdp) > { > BUILD_BUG(); > - return 0; > + return false; > } > #endif /* CONFIG_TRANSPARENT_HUGEPAGE */ > #endif > diff --git a/mm/pgtable-generic.c b/mm/pgtable-generic.c > index db0ee918b08a..b91b1a98029c 100644 > --- a/mm/pgtable-generic.c > +++ b/mm/pgtable-generic.c > @@ -124,10 +124,11 @@ int pmdp_set_access_flags(struct vm_area_struct *vma, > #endif > > #ifndef __HAVE_ARCH_PMDP_CLEAR_YOUNG_FLUSH > -int pmdp_clear_flush_young(struct vm_area_struct *vma, > - unsigned long address, pmd_t *pmdp) > +bool pmdp_clear_flush_young(struct vm_area_struct *vma, > + unsigned long address, pmd_t *pmdp) > { > - int young; > + bool young; > + > VM_BUG_ON(address & ~HPAGE_PMD_MASK); > young = pmdp_test_and_clear_young(vma, address, pmdp); > if (young) > -- > 2.47.3 >
