On 21/08/25 5:35 pm, Lorenzo Stoakes wrote:
---
mm/khugepaged.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/mm/khugepaged.c b/mm/khugepaged.c
index 1ad7e00d3fd6..6a4cf7e4a7cc 100644
--- a/mm/khugepaged.c
+++ b/mm/khugepaged.c
@@ -611,6 +611,15 @@ static int __collapse_huge_page_isolate(struct
vm_area_struct *vma,
folio = page_folio(page);
VM_BUG_ON_FOLIO(!folio_test_anon(folio), folio);
+ /*
+ * TODO: In some cases of partially-mapped folios, we'd actually
+ * want to collapse.
+ */
Not a fan of adding todo's in code, they have a habit of being left forever. I'd
maybe put a more written out comment something similar to the commit message.
I had suggested to add in
https://lore.kernel.org/all/20250211111326.14295-10-dev.j...@arm.com/
from the get go, but then we decided to leave it for later. So rest assured
this TODO won't
be left forever : )
+ if (order != HPAGE_PMD_ORDER && folio_order(folio) >= order) {
+ result = SCAN_PTE_MAPPED_HUGEPAGE;
+ goto out;
+ }
+
/* See collapse_scan_pmd(). */
if (folio_maybe_mapped_shared(folio)) {
++shared;
--
2.50.1