alloc_contig_dump_pages aims for helping debugging page migration failure by page refcount mismatch or something else of page itself from migration handler function. However, in -ENOMEM case, there is nothing to get clue from page descriptor information so just dump pages only when -EBUSY happens. Signed-off-by: Minchan Kim <minchan@xxxxxxxxxx> --- mm/page_alloc.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 3100fcb08500..c0a2971dc755 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -8760,7 +8760,8 @@ static int __alloc_contig_migrate_range(struct compact_control *cc, lru_cache_enable(); if (ret < 0) { - alloc_contig_dump_pages(&cc->migratepages); + if (ret == -EBUSY) + alloc_contig_dump_pages(&cc->migratepages); putback_movable_pages(&cc->migratepages); return ret; } -- 2.31.1.751.gd2f1c929bd-goog