History

mm/huge_memory: add page->private check back in __split_folio_to_order()

page->private should not be set in tail pages. Commit 4265d67e405a ("mm/migrate_device: add THP splitting during migration") removed a DEBUG_VM check without a proper reason[1]. Add it back.

Zi Yan committed 4 months ago

Commit d0076581 parent 7ae5a5d1 file · +7 −0Browse files

Unified · Split

mm/huge_memory.c+7−0
@@ -3591,6 +3591,13 @@ static void __split_folio_to_order(struct folio *folio, int old_order, · 3590 unmodified lines
3591 new_folio->mapping = folio->mapping;3591 new_folio->mapping = folio->mapping;
3592 new_folio->index = folio->index + i;3592 new_folio->index = folio->index + i;
3593 3593
3594 /*
3595 * page->private should not be set in tail pages. Warn once
3596 * if private is unexpectedly set. Do it before swap.val assignment
3597 * since private overlaps with swap.val.
3598 */
3599 VM_WARN_ON_ONCE_PAGE(new_folio->private, new_head);
3600
3594 if (folio_test_swapcache(folio))3601 if (folio_test_swapcache(folio))
3595 new_folio->swap.val = folio->swap.val + i;3602 new_folio->swap.val = folio->swap.val + i;
3596 3603