aboutsummaryrefslogtreecommitdiffstats
path: root/mm/memory-failure.c
diff options
context:
space:
mode:
authorAndi Kleen <ak@linux.intel.com>2010-09-27 17:31:30 -0400
committerAndi Kleen <ak@linux.intel.com>2010-10-08 03:33:00 -0400
commitfb46e73520940bfc426152cfe5e4a9f1ae3f00b6 (patch)
treec07420d04b11fd68ce59cdef64d8f6517240b5a9 /mm/memory-failure.c
parent1c80b990a3411733890eff10817e388d5e25e2dd (diff)
HWPOISON: Convert pr_debugs to pr_info
Convert a lot of pr_debugs in memory-failure.c that are generally useful to pr_info. It's reasonable to print at least one message why offlining succeeded or failed by default. Signed-off-by: Andi Kleen <ak@linux.intel.com>
Diffstat (limited to 'mm/memory-failure.c')
-rw-r--r--mm/memory-failure.c24
1 files changed, 12 insertions, 12 deletions
diff --git a/mm/memory-failure.c b/mm/memory-failure.c
index eebb9d8efae4..0a2ed9a17e8c 100644
--- a/mm/memory-failure.c
+++ b/mm/memory-failure.c
@@ -314,7 +314,7 @@ static void add_to_kill(struct task_struct *tsk, struct page *p,
314 * a SIGKILL because the error is not contained anymore. 314 * a SIGKILL because the error is not contained anymore.
315 */ 315 */
316 if (tk->addr == -EFAULT) { 316 if (tk->addr == -EFAULT) {
317 pr_debug("MCE: Unable to find user space address %lx in %s\n", 317 pr_info("MCE: Unable to find user space address %lx in %s\n",
318 page_to_pfn(p), tsk->comm); 318 page_to_pfn(p), tsk->comm);
319 tk->addr_valid = 0; 319 tk->addr_valid = 0;
320 } 320 }
@@ -582,7 +582,7 @@ static int me_pagecache_clean(struct page *p, unsigned long pfn)
582 pfn, err); 582 pfn, err);
583 } else if (page_has_private(p) && 583 } else if (page_has_private(p) &&
584 !try_to_release_page(p, GFP_NOIO)) { 584 !try_to_release_page(p, GFP_NOIO)) {
585 pr_debug("MCE %#lx: failed to release buffers\n", pfn); 585 pr_info("MCE %#lx: failed to release buffers\n", pfn);
586 } else { 586 } else {
587 ret = RECOVERED; 587 ret = RECOVERED;
588 } 588 }
@@ -1152,7 +1152,7 @@ int unpoison_memory(unsigned long pfn)
1152 page = compound_head(p); 1152 page = compound_head(p);
1153 1153
1154 if (!PageHWPoison(p)) { 1154 if (!PageHWPoison(p)) {
1155 pr_debug("MCE: Page was already unpoisoned %#lx\n", pfn); 1155 pr_info("MCE: Page was already unpoisoned %#lx\n", pfn);
1156 return 0; 1156 return 0;
1157 } 1157 }
1158 1158
@@ -1161,7 +1161,7 @@ int unpoison_memory(unsigned long pfn)
1161 if (!get_page_unless_zero(page)) { 1161 if (!get_page_unless_zero(page)) {
1162 if (TestClearPageHWPoison(p)) 1162 if (TestClearPageHWPoison(p))
1163 atomic_long_sub(nr_pages, &mce_bad_pages); 1163 atomic_long_sub(nr_pages, &mce_bad_pages);
1164 pr_debug("MCE: Software-unpoisoned free page %#lx\n", pfn); 1164 pr_info("MCE: Software-unpoisoned free page %#lx\n", pfn);
1165 return 0; 1165 return 0;
1166 } 1166 }
1167 1167
@@ -1173,7 +1173,7 @@ int unpoison_memory(unsigned long pfn)
1173 * the free buddy page pool. 1173 * the free buddy page pool.
1174 */ 1174 */
1175 if (TestClearPageHWPoison(page)) { 1175 if (TestClearPageHWPoison(page)) {
1176 pr_debug("MCE: Software-unpoisoned page %#lx\n", pfn); 1176 pr_info("MCE: Software-unpoisoned page %#lx\n", pfn);
1177 atomic_long_sub(nr_pages, &mce_bad_pages); 1177 atomic_long_sub(nr_pages, &mce_bad_pages);
1178 freeit = 1; 1178 freeit = 1;
1179 } 1179 }
@@ -1222,12 +1222,12 @@ static int get_any_page(struct page *p, unsigned long pfn, int flags)
1222 set_migratetype_isolate(p); 1222 set_migratetype_isolate(p);
1223 if (!get_page_unless_zero(compound_head(p))) { 1223 if (!get_page_unless_zero(compound_head(p))) {
1224 if (is_free_buddy_page(p)) { 1224 if (is_free_buddy_page(p)) {
1225 pr_debug("get_any_page: %#lx free buddy page\n", pfn); 1225 pr_info("get_any_page: %#lx free buddy page\n", pfn);
1226 /* Set hwpoison bit while page is still isolated */ 1226 /* Set hwpoison bit while page is still isolated */
1227 SetPageHWPoison(p); 1227 SetPageHWPoison(p);
1228 ret = 0; 1228 ret = 0;
1229 } else { 1229 } else {
1230 pr_debug("get_any_page: %#lx: unknown zero refcount page type %lx\n", 1230 pr_info("get_any_page: %#lx: unknown zero refcount page type %lx\n",
1231 pfn, p->flags); 1231 pfn, p->flags);
1232 ret = -EIO; 1232 ret = -EIO;
1233 } 1233 }
@@ -1293,7 +1293,7 @@ int soft_offline_page(struct page *page, int flags)
1293 goto done; 1293 goto done;
1294 } 1294 }
1295 if (!PageLRU(page)) { 1295 if (!PageLRU(page)) {
1296 pr_debug("soft_offline: %#lx: unknown non LRU page type %lx\n", 1296 pr_info("soft_offline: %#lx: unknown non LRU page type %lx\n",
1297 pfn, page->flags); 1297 pfn, page->flags);
1298 return -EIO; 1298 return -EIO;
1299 } 1299 }
@@ -1307,7 +1307,7 @@ int soft_offline_page(struct page *page, int flags)
1307 if (PageHWPoison(page)) { 1307 if (PageHWPoison(page)) {
1308 unlock_page(page); 1308 unlock_page(page);
1309 put_page(page); 1309 put_page(page);
1310 pr_debug("soft offline: %#lx page already poisoned\n", pfn); 1310 pr_info("soft offline: %#lx page already poisoned\n", pfn);
1311 return -EBUSY; 1311 return -EBUSY;
1312 } 1312 }
1313 1313
@@ -1328,7 +1328,7 @@ int soft_offline_page(struct page *page, int flags)
1328 put_page(page); 1328 put_page(page);
1329 if (ret == 1) { 1329 if (ret == 1) {
1330 ret = 0; 1330 ret = 0;
1331 pr_debug("soft_offline: %#lx: invalidated\n", pfn); 1331 pr_info("soft_offline: %#lx: invalidated\n", pfn);
1332 goto done; 1332 goto done;
1333 } 1333 }
1334 1334
@@ -1344,13 +1344,13 @@ int soft_offline_page(struct page *page, int flags)
1344 list_add(&page->lru, &pagelist); 1344 list_add(&page->lru, &pagelist);
1345 ret = migrate_pages(&pagelist, new_page, MPOL_MF_MOVE_ALL, 0); 1345 ret = migrate_pages(&pagelist, new_page, MPOL_MF_MOVE_ALL, 0);
1346 if (ret) { 1346 if (ret) {
1347 pr_debug("soft offline: %#lx: migration failed %d, type %lx\n", 1347 pr_info("soft offline: %#lx: migration failed %d, type %lx\n",
1348 pfn, ret, page->flags); 1348 pfn, ret, page->flags);
1349 if (ret > 0) 1349 if (ret > 0)
1350 ret = -EIO; 1350 ret = -EIO;
1351 } 1351 }
1352 } else { 1352 } else {
1353 pr_debug("soft offline: %#lx: isolation failed: %d, page count %d, type %lx\n", 1353 pr_info("soft offline: %#lx: isolation failed: %d, page count %d, type %lx\n",
1354 pfn, ret, page_count(page), page->flags); 1354 pfn, ret, page_count(page), page->flags);
1355 } 1355 }
1356 if (ret) 1356 if (ret)