Thread (89 messages) 89 messages, 12 authors, 2025-09-11

Re: [PATCH v10 03/13] khugepaged: generalize hugepage_vma_revalidate for mTHP support

From: Lorenzo Stoakes <hidden>
Date: 2025-08-22 10:26:59
Also in: linux-doc, linux-mm, lkml

On Thu, Aug 21, 2025 at 10:09:10AM -0400, Zi Yan wrote:
On 20 Aug 2025, at 23:41, Wei Yang wrote:
quoted
On Wed, Aug 20, 2025 at 09:40:40AM -0600, Nico Pache wrote:
[...]
quoted
quoted
quoted
      if (!thp_vma_suitable_order(vma, address, PMD_ORDER))
              return SCAN_ADDRESS_RANGE;
-     if (!thp_vma_allowable_order(vma, vma->vm_flags, type, PMD_ORDER))
+     if (!thp_vma_allowable_orders(vma, vma->vm_flags, type, orders))
              return SCAN_VMA_CHECK;
      /*
       * Anon VMA expected, the address may be unmapped then
@@ -1134,7 +1135,8 @@ static int collapse_huge_page(struct mm_struct *mm, unsigned long address,
              goto out_nolock;

      mmap_read_lock(mm);
-     result = hugepage_vma_revalidate(mm, address, true, &vma, cc);
+     result = hugepage_vma_revalidate(mm, address, true, &vma, cc,
+                                      BIT(HPAGE_PMD_ORDER));
Shouldn't this be PMD order? Seems equivalent.
Yeah i'm actually not sure why we have both... they seem to be the
same thing, but perhaps there is some reason for having two...
I am confused with these two, PMD_ORDER above and HPAGE_PMD_ORDER from here.

Do we have a guide on when to use which?
Looking at the definition of HPAGE_PMD_SHIFT in huge_mm.h, it will cause a
build bug when PMD level huge page is not supported. So I think
HPAGE_PMD_ORDER should be used for all huge pages (both THP and hugetlb).
Thanks yeah that makes sense, so let's keep it all as HPAGE_PMD_ORDER then!

Cheers, Lorenzo
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help