FROMLIST: mm: page_alloc: dump migrate-failed pages only at -EBUSY

alloc_contig_dump_pages() aims for helping debugging page migration
failure by elevated page refcount compared to expected_count.  (for the
detail, please look at migrate_page_move_mapping)

However, -ENOMEM is just the case that system is under memory pressure
state, not relevant with page refcount at all.  Thus, the dumping page
list is not helpful for the debugging point of view.

Link: https://lkml.kernel.org/r/YKa2Wyo9xqIErpfa@google.com
Signed-off-by: Minchan Kim <minchan@kernel.org>
Reviewed-by: David Hildenbrand <david@redhat.com>
Cc: Suren Baghdasaryan <surenb@google.com>
Cc: John Dias <joaodias@google.com>
Cc: Michal Hocko <mhocko@suse.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Bug: 188908895
Link: https://lore.kernel.org/mm-commits/20210525000343.YBEWQU38O%25akpm@linux-foundation.org/T/#u
Signed-off-by: Minchan Kim <minchan@google.com>
Change-Id: Ia077e0d88375d2b59fa5f2a8a530257c6558e8d5
This commit is contained in:
Minchan Kim
2021-05-25 07:43:44 -07:00
committed by Minchan Kim
parent 8c944335a3
commit fbdf9cd38a

View File

@@ -8617,8 +8617,10 @@ static int __alloc_contig_migrate_range(struct compact_control *cc,
lru_cache_enable();
if (ret < 0) {
alloc_contig_dump_pages(&cc->migratepages);
page_pinner_mark_migration_failed_pages(&cc->migratepages);
if (ret == -EBUSY) {
alloc_contig_dump_pages(&cc->migratepages);
page_pinner_mark_migration_failed_pages(&cc->migratepages);
}
putback_movable_pages(&cc->migratepages);
return ret;
}