Messages in this thread Patch in this message |  | | From | Barry Song <> | | Date | Wed, 8 Apr 2026 19:00:34 +0800 | | Subject | Re: [RFC PATCH 1/8] arm64/hugetlb: Extend batching of multiple CONT_PTE in a single PTE setup |
| |
On Wed, Apr 8, 2026 at 6:32 PM Dev Jain <dev.jain@arm.com> wrote: > > > > On 08/04/26 8:21 am, Barry Song (Xiaomi) wrote: > > For sizes aligned to CONT_PTE_SIZE and smaller than PMD_SIZE, > > we can batch CONT_PTE settings instead of handling them individually. > > > > Signed-off-by: Barry Song (Xiaomi) <baohua@kernel.org> > > --- > > arch/arm64/mm/hugetlbpage.c | 10 ++++++++++ > > 1 file changed, 10 insertions(+) > > > > diff --git a/arch/arm64/mm/hugetlbpage.c b/arch/arm64/mm/hugetlbpage.c > > index a42c05cf5640..bf31c11ebd3b 100644 > > --- a/arch/arm64/mm/hugetlbpage.c > > +++ b/arch/arm64/mm/hugetlbpage.c > > @@ -110,6 +110,12 @@ static inline int num_contig_ptes(unsigned long size, size_t *pgsize) > > contig_ptes = CONT_PTES; > > break; > > default: > > + if (size < CONT_PMD_SIZE && size > 0 && > > + IS_ALIGNED(size, CONT_PTE_SIZE)) { > > Nit: Having the lower bound check before upper bound is natural to > read, so this should be size > 0 && size < CONT_PMD_SIZE (i.e written > the other way around).
Thanks very much for reviewing, Dev. As we discussed in patch 0/8, this should be PMD_SIZE, not CONT_PMD_SIZE. I will use size > 0 && size < PMD_SIZE in the next version.
> > Also IS_ALIGNED needs to go below size.
Sure, thanks!
> > > > + contig_ptes = size >> PAGE_SHIFT; > > + *pgsize = PAGE_SIZE; > > + break; > > + } > > WARN_ON(!__hugetlb_valid_size(size)); > > } > > > > @@ -359,6 +365,10 @@ pte_t arch_make_huge_pte(pte_t entry, unsigned int shift, vm_flags_t flags) > > case CONT_PTE_SIZE: > > return pte_mkcont(entry); > > default: > > + if (pagesize < CONT_PMD_SIZE && pagesize > 0 && > > + IS_ALIGNED(pagesize, CONT_PTE_SIZE)) > > + return pte_mkcont(entry);
Here it should be pagesize > 0 && pagesize < PMD_SIZE as well :-)
> > + > > break; > > } > > pr_warn("%s: unrecognized huge page size 0x%lx\n", >
Best Regards Barry
|  |