On Mon, 8 Jul 2024 17:55:37 -0400 Peter Xu <peterx@xxxxxxxxxx> wrote: > This issue is not from any report yet, but by code observation only. > > This is yet another fix besides Hugh's patch [1] but on relevant code path, > where eager split of folio can happen if the folio is already on deferred > list during a folio migration. > > Here the issue is NUMA path (migrate_misplaced_folio()) may start to > encounter such folio split now even with MR_NUMA_MISPLACED hint applied. > Then when migrate_pages() didn't migrate all the folios, it's possible the > split small folios be put onto the list instead of the original folio. > Then putting back only the head page won't be enough. > > Fix it by putting back all the folios on the list. mm/migrate.c: In function 'migrate_misplaced_folio': mm/migrate.c:2624:13: error: unused variable 'nr_pages' [-Werror=unused-variable] 2624 | int nr_pages = folio_nr_pages(folio); | ^~~~~~~~ Worrisome. Which kernel version was this tested against? > Don't need to copy stable if this can still hit 6.10.. Only smoke tested. Also worrisome. Are we to take an only-smoke-tested patch which doesn't apply to mainline and which doesn't compile on mm-unstable into mainline based on "only smoke tested"?