On Mon Jul 8, 2024 at 5:55 PM EDT, Peter Xu 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. > > [1] https://lore.kernel.org/all/46c948b4-4dd8-6e03-4c7b-ce4e81cfa536@xxxxxxxxxx/ > > Cc: Zi Yan <ziy@xxxxxxxxxx> > Cc: Yang Shi <shy828301@xxxxxxxxx> > Cc: Hugh Dickins <hughd@xxxxxxxxxx> > Cc: Baolin Wang <baolin.wang@xxxxxxxxxxxxxxxxx> > Cc: Huang Ying <ying.huang@xxxxxxxxx> > Cc: David Hildenbrand <david@xxxxxxxxxx> > Fixes: 7262f208ca68 ("mm/migrate: split source folio if it is on deferred split list") > Signed-off-by: Peter Xu <peterx@xxxxxxxxxx> > --- > > Don't need to copy stable if this can still hit 6.10.. Only smoke tested. > --- > mm/migrate.c | 10 ++-------- > 1 file changed, 2 insertions(+), 8 deletions(-) LGTM. Thanks. Reviewed-by: Zi Yan <ziy@xxxxxxxxxx> -- Best Regards, Yan, Zi
Attachment:
signature.asc
Description: PGP signature