Lines Matching refs:pfn
191 unsigned long pfn, struct page *page, int flags) in kill_proc() argument
198 pfn, t->comm, t->pid); in kill_proc()
335 int fail, struct page *page, unsigned long pfn, in kill_procs() argument
350 pfn, tk->tsk->comm, tk->tsk->pid); in kill_procs()
361 pfn, page, flags) < 0) in kill_procs()
364 pfn, tk->tsk->comm, tk->tsk->pid); in kill_procs()
599 static int me_kernel(struct page *p, unsigned long pfn) in me_kernel() argument
607 static int me_unknown(struct page *p, unsigned long pfn) in me_unknown() argument
609 printk(KERN_ERR "MCE %#lx: Unknown page state\n", pfn); in me_unknown()
616 static int me_pagecache_clean(struct page *p, unsigned long pfn) in me_pagecache_clean() argument
655 pfn, err); in me_pagecache_clean()
658 pr_info("MCE %#lx: failed to release buffers\n", pfn); in me_pagecache_clean()
671 pfn); in me_pagecache_clean()
681 static int me_pagecache_dirty(struct page *p, unsigned long pfn) in me_pagecache_dirty() argument
725 return me_pagecache_clean(p, pfn); in me_pagecache_dirty()
747 static int me_swapcache_dirty(struct page *p, unsigned long pfn) in me_swapcache_dirty() argument
759 static int me_swapcache_clean(struct page *p, unsigned long pfn) in me_swapcache_clean() argument
775 static int me_huge_page(struct page *p, unsigned long pfn) in me_huge_page() argument
827 int (*action)(struct page *p, unsigned long pfn);
884 static void action_result(unsigned long pfn, enum action_page_type type, int result) in action_result() argument
887 pfn, action_page_types[type], action_name[result]); in action_result()
891 unsigned long pfn) in page_action() argument
896 result = ps->action(p, pfn); in page_action()
904 pfn, action_page_types[ps->type], count); in page_action()
907 action_result(pfn, ps->type, result); in page_action()
921 static int hwpoison_user_mappings(struct page *p, unsigned long pfn, in hwpoison_user_mappings() argument
949 pr_err("MCE %#lx: can't handle KSM pages.\n", pfn); in hwpoison_user_mappings()
955 "MCE %#lx: keeping poisoned page in swap cache\n", pfn); in hwpoison_user_mappings()
975 pfn); in hwpoison_user_mappings()
1007 "MCE %#lx: failed to split THP\n", pfn); in hwpoison_user_mappings()
1046 pfn, page_mapcount(ppage)); in hwpoison_user_mappings()
1060 ret != SWAP_SUCCESS, p, pfn, flags); in hwpoison_user_mappings()
1099 int memory_failure(unsigned long pfn, int trapno, int flags) in memory_failure() argument
1109 panic("Memory failure from trap %d on page %lx", trapno, pfn); in memory_failure()
1111 if (!pfn_valid(pfn)) { in memory_failure()
1114 pfn); in memory_failure()
1118 p = pfn_to_page(pfn); in memory_failure()
1121 printk(KERN_ERR "MCE %#lx: already hardware poisoned\n", pfn); in memory_failure()
1155 action_result(pfn, MSG_BUDDY, DELAYED); in memory_failure()
1172 action_result(pfn, MSG_FREE_HUGE, in memory_failure()
1177 action_result(pfn, MSG_KERNEL_HIGH_ORDER, IGNORED); in memory_failure()
1199 action_result(pfn, MSG_BUDDY, DELAYED); in memory_failure()
1201 action_result(pfn, MSG_BUDDY_2ND, in memory_failure()
1215 action_result(pfn, MSG_DIFFERENT_COMPOUND, IGNORED); in memory_failure()
1233 printk(KERN_ERR "MCE %#lx: just unpoisoned\n", pfn); in memory_failure()
1255 action_result(pfn, MSG_POISONED_HUGE, IGNORED); in memory_failure()
1282 if (hwpoison_user_mappings(p, pfn, trapno, flags, &hpage) in memory_failure()
1284 action_result(pfn, MSG_UNMAP_FAILED, IGNORED); in memory_failure()
1293 action_result(pfn, MSG_TRUNCATED_LRU, IGNORED); in memory_failure()
1315 res = page_action(ps, p, pfn); in memory_failure()
1326 unsigned long pfn; member
1357 void memory_failure_queue(unsigned long pfn, int trapno, int flags) in memory_failure_queue() argument
1362 .pfn = pfn, in memory_failure_queue()
1373 pfn); in memory_failure_queue()
1394 soft_offline_page(pfn_to_page(entry.pfn), entry.flags); in memory_failure_work_func()
1396 memory_failure(entry.pfn, entry.trapno, entry.flags); in memory_failure_work_func()
1428 int unpoison_memory(unsigned long pfn) in unpoison_memory() argument
1435 if (!pfn_valid(pfn)) in unpoison_memory()
1438 p = pfn_to_page(pfn); in unpoison_memory()
1442 pr_info("MCE: Page was already unpoisoned %#lx\n", pfn); in unpoison_memory()
1452 pr_info("MCE: Memory failure is now running on %#lx\n", pfn); in unpoison_memory()
1466 pr_info("MCE: Memory failure is now running on free hugepage %#lx\n", pfn); in unpoison_memory()
1471 pr_info("MCE: Software-unpoisoned free page %#lx\n", pfn); in unpoison_memory()
1483 pr_info("MCE: Software-unpoisoned page %#lx\n", pfn); in unpoison_memory()
1492 if (freeit && !(pfn == my_zero_pfn(0) && page_count(p) == 1)) in unpoison_memory()
1515 static int __get_any_page(struct page *p, unsigned long pfn, int flags) in __get_any_page() argument
1528 pr_info("%s: %#lx free huge page\n", __func__, pfn); in __get_any_page()
1531 pr_info("%s: %#lx free buddy page\n", __func__, pfn); in __get_any_page()
1535 __func__, pfn, p->flags); in __get_any_page()
1545 static int get_any_page(struct page *page, unsigned long pfn, int flags) in get_any_page() argument
1547 int ret = __get_any_page(page, pfn, flags); in get_any_page()
1559 ret = __get_any_page(page, pfn, 0); in get_any_page()
1564 pfn, page->flags); in get_any_page()
1574 unsigned long pfn = page_to_pfn(page); in soft_offline_huge_page() local
1586 pr_info("soft offline: %#lx hugepage already poisoned\n", pfn); in soft_offline_huge_page()
1598 pr_info("soft offline: %#lx hugepage failed to isolate\n", pfn); in soft_offline_huge_page()
1606 pfn, ret, page->flags); in soft_offline_huge_page()
1633 unsigned long pfn = page_to_pfn(page); in __soft_offline_page() local
1646 pr_info("soft offline: %#lx page already poisoned\n", pfn); in __soft_offline_page()
1661 pr_info("soft_offline: %#lx: invalidated\n", pfn); in __soft_offline_page()
1694 pfn, ret, page->flags); in __soft_offline_page()
1703 pfn, ret, page_count(page), page->flags); in __soft_offline_page()
1733 unsigned long pfn = page_to_pfn(page); in soft_offline_page() local
1737 pr_info("soft offline: %#lx page already poisoned\n", pfn); in soft_offline_page()
1743 pfn); in soft_offline_page()
1750 ret = get_any_page(page, pfn, flags); in soft_offline_page()