diff options
| -rw-r--r-- | mm/memory_hotplug.c | 12 | ||||
| -rw-r--r-- | mm/page_alloc.c | 1 |
2 files changed, 9 insertions, 4 deletions
diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c index 88d50e74e3fe..c82193db4be6 100644 --- a/mm/memory_hotplug.c +++ b/mm/memory_hotplug.c | |||
| @@ -1388,10 +1388,8 @@ do_migrate_range(unsigned long start_pfn, unsigned long end_pfn) | |||
| 1388 | page_is_file_cache(page)); | 1388 | page_is_file_cache(page)); |
| 1389 | 1389 | ||
| 1390 | } else { | 1390 | } else { |
| 1391 | #ifdef CONFIG_DEBUG_VM | 1391 | pr_warn("failed to isolate pfn %lx\n", pfn); |
| 1392 | pr_alert("failed to isolate pfn %lx\n", pfn); | ||
| 1393 | dump_page(page, "isolation failed"); | 1392 | dump_page(page, "isolation failed"); |
| 1394 | #endif | ||
| 1395 | put_page(page); | 1393 | put_page(page); |
| 1396 | /* Because we don't have big zone->lock. we should | 1394 | /* Because we don't have big zone->lock. we should |
| 1397 | check this again here. */ | 1395 | check this again here. */ |
| @@ -1411,8 +1409,14 @@ do_migrate_range(unsigned long start_pfn, unsigned long end_pfn) | |||
| 1411 | /* Allocate a new page from the nearest neighbor node */ | 1409 | /* Allocate a new page from the nearest neighbor node */ |
| 1412 | ret = migrate_pages(&source, new_node_page, NULL, 0, | 1410 | ret = migrate_pages(&source, new_node_page, NULL, 0, |
| 1413 | MIGRATE_SYNC, MR_MEMORY_HOTPLUG); | 1411 | MIGRATE_SYNC, MR_MEMORY_HOTPLUG); |
| 1414 | if (ret) | 1412 | if (ret) { |
| 1413 | list_for_each_entry(page, &source, lru) { | ||
| 1414 | pr_warn("migrating pfn %lx failed ret:%d ", | ||
| 1415 | page_to_pfn(page), ret); | ||
| 1416 | dump_page(page, "migration failure"); | ||
| 1417 | } | ||
| 1415 | putback_movable_pages(&source); | 1418 | putback_movable_pages(&source); |
| 1419 | } | ||
| 1416 | } | 1420 | } |
| 1417 | out: | 1421 | out: |
| 1418 | return ret; | 1422 | return ret; |
diff --git a/mm/page_alloc.c b/mm/page_alloc.c index d245de2124e3..c6f090e9a112 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c | |||
| @@ -7869,6 +7869,7 @@ bool has_unmovable_pages(struct zone *zone, struct page *page, int count, | |||
| 7869 | return false; | 7869 | return false; |
| 7870 | unmovable: | 7870 | unmovable: |
| 7871 | WARN_ON_ONCE(zone_idx(zone) == ZONE_MOVABLE); | 7871 | WARN_ON_ONCE(zone_idx(zone) == ZONE_MOVABLE); |
| 7872 | dump_page(pfn_to_page(pfn+iter), "unmovable page"); | ||
| 7872 | return true; | 7873 | return true; |
| 7873 | } | 7874 | } |
| 7874 | 7875 | ||
