diff options
Diffstat (limited to 'mm/memory-failure.c')
-rw-r--r-- | mm/memory-failure.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/mm/memory-failure.c b/mm/memory-failure.c index 2b43ba051ac9..06d3479513aa 100644 --- a/mm/memory-failure.c +++ b/mm/memory-failure.c | |||
@@ -42,6 +42,7 @@ | |||
42 | #include <linux/sched.h> | 42 | #include <linux/sched.h> |
43 | #include <linux/ksm.h> | 43 | #include <linux/ksm.h> |
44 | #include <linux/rmap.h> | 44 | #include <linux/rmap.h> |
45 | #include <linux/export.h> | ||
45 | #include <linux/pagemap.h> | 46 | #include <linux/pagemap.h> |
46 | #include <linux/swap.h> | 47 | #include <linux/swap.h> |
47 | #include <linux/backing-dev.h> | 48 | #include <linux/backing-dev.h> |
@@ -1310,7 +1311,7 @@ int unpoison_memory(unsigned long pfn) | |||
1310 | * to the end. | 1311 | * to the end. |
1311 | */ | 1312 | */ |
1312 | if (PageHuge(page)) { | 1313 | if (PageHuge(page)) { |
1313 | pr_debug("MCE: Memory failure is now running on free hugepage %#lx\n", pfn); | 1314 | pr_info("MCE: Memory failure is now running on free hugepage %#lx\n", pfn); |
1314 | return 0; | 1315 | return 0; |
1315 | } | 1316 | } |
1316 | if (TestClearPageHWPoison(p)) | 1317 | if (TestClearPageHWPoison(p)) |
@@ -1419,7 +1420,7 @@ static int soft_offline_huge_page(struct page *page, int flags) | |||
1419 | 1420 | ||
1420 | if (PageHWPoison(hpage)) { | 1421 | if (PageHWPoison(hpage)) { |
1421 | put_page(hpage); | 1422 | put_page(hpage); |
1422 | pr_debug("soft offline: %#lx hugepage already poisoned\n", pfn); | 1423 | pr_info("soft offline: %#lx hugepage already poisoned\n", pfn); |
1423 | return -EBUSY; | 1424 | return -EBUSY; |
1424 | } | 1425 | } |
1425 | 1426 | ||
@@ -1433,8 +1434,8 @@ static int soft_offline_huge_page(struct page *page, int flags) | |||
1433 | list_for_each_entry_safe(page1, page2, &pagelist, lru) | 1434 | list_for_each_entry_safe(page1, page2, &pagelist, lru) |
1434 | put_page(page1); | 1435 | put_page(page1); |
1435 | 1436 | ||
1436 | pr_debug("soft offline: %#lx: migration failed %d, type %lx\n", | 1437 | pr_info("soft offline: %#lx: migration failed %d, type %lx\n", |
1437 | pfn, ret, page->flags); | 1438 | pfn, ret, page->flags); |
1438 | if (ret > 0) | 1439 | if (ret > 0) |
1439 | ret = -EIO; | 1440 | ret = -EIO; |
1440 | return ret; | 1441 | return ret; |
@@ -1505,7 +1506,7 @@ int soft_offline_page(struct page *page, int flags) | |||
1505 | } | 1506 | } |
1506 | if (!PageLRU(page)) { | 1507 | if (!PageLRU(page)) { |
1507 | pr_info("soft_offline: %#lx: unknown non LRU page type %lx\n", | 1508 | pr_info("soft_offline: %#lx: unknown non LRU page type %lx\n", |
1508 | pfn, page->flags); | 1509 | pfn, page->flags); |
1509 | return -EIO; | 1510 | return -EIO; |
1510 | } | 1511 | } |
1511 | 1512 | ||
@@ -1566,7 +1567,7 @@ int soft_offline_page(struct page *page, int flags) | |||
1566 | } | 1567 | } |
1567 | } else { | 1568 | } else { |
1568 | pr_info("soft offline: %#lx: isolation failed: %d, page count %d, type %lx\n", | 1569 | pr_info("soft offline: %#lx: isolation failed: %d, page count %d, type %lx\n", |
1569 | pfn, ret, page_count(page), page->flags); | 1570 | pfn, ret, page_count(page), page->flags); |
1570 | } | 1571 | } |
1571 | if (ret) | 1572 | if (ret) |
1572 | return ret; | 1573 | return ret; |