Lines Matching refs:pfn

182 			unsigned long pfn, struct page *page, int flags)  in kill_proc()  argument
189 pfn, t->comm, t->pid); in kill_proc()
326 int fail, struct page *page, unsigned long pfn, in kill_procs() argument
341 pfn, tk->tsk->comm, tk->tsk->pid); in kill_procs()
352 pfn, page, flags) < 0) in kill_procs()
355 pfn, tk->tsk->comm, tk->tsk->pid); in kill_procs()
556 static int me_kernel(struct page *p, unsigned long pfn) in me_kernel() argument
564 static int me_unknown(struct page *p, unsigned long pfn) in me_unknown() argument
566 printk(KERN_ERR "MCE %#lx: Unknown page state\n", pfn); in me_unknown()
573 static int me_pagecache_clean(struct page *p, unsigned long pfn) in me_pagecache_clean() argument
612 pfn, err); in me_pagecache_clean()
615 pr_info("MCE %#lx: failed to release buffers\n", pfn); in me_pagecache_clean()
628 pfn); in me_pagecache_clean()
638 static int me_pagecache_dirty(struct page *p, unsigned long pfn) in me_pagecache_dirty() argument
682 return me_pagecache_clean(p, pfn); in me_pagecache_dirty()
704 static int me_swapcache_dirty(struct page *p, unsigned long pfn) in me_swapcache_dirty() argument
716 static int me_swapcache_clean(struct page *p, unsigned long pfn) in me_swapcache_clean() argument
732 static int me_huge_page(struct page *p, unsigned long pfn) in me_huge_page() argument
786 int (*action)(struct page *p, unsigned long pfn);
838 static void action_result(unsigned long pfn, enum mf_action_page_type type, in action_result() argument
841 trace_memory_failure_event(pfn, type, result); in action_result()
844 pfn, action_page_types[type], action_name[result]); in action_result()
848 unsigned long pfn) in page_action() argument
853 result = ps->action(p, pfn); in page_action()
861 pfn, action_page_types[ps->type], count); in page_action()
864 action_result(pfn, ps->type, result); in page_action()
944 static int hwpoison_user_mappings(struct page *p, unsigned long pfn, in hwpoison_user_mappings() argument
971 pr_err("MCE %#lx: can't handle KSM pages.\n", pfn); in hwpoison_user_mappings()
977 "MCE %#lx: keeping poisoned page in swap cache\n", pfn); in hwpoison_user_mappings()
997 pfn); in hwpoison_user_mappings()
1015 pfn, page_mapcount(hpage)); in hwpoison_user_mappings()
1029 ret != SWAP_SUCCESS, p, pfn, flags); in hwpoison_user_mappings()
1068 int memory_failure(unsigned long pfn, int trapno, int flags) in memory_failure() argument
1079 panic("Memory failure from trap %d on page %lx", trapno, pfn); in memory_failure()
1081 if (!pfn_valid(pfn)) { in memory_failure()
1084 pfn); in memory_failure()
1088 p = pfn_to_page(pfn); in memory_failure()
1091 printk(KERN_ERR "MCE %#lx: already hardware poisoned\n", pfn); in memory_failure()
1124 action_result(pfn, MF_MSG_BUDDY, MF_DELAYED); in memory_failure()
1141 action_result(pfn, MF_MSG_FREE_HUGE, in memory_failure()
1146 action_result(pfn, MF_MSG_KERNEL_HIGH_ORDER, MF_IGNORED); in memory_failure()
1154 pr_err("MCE: %#lx: non anonymous thp\n", pfn); in memory_failure()
1156 pr_err("MCE: %#lx: thp split failed\n", pfn); in memory_failure()
1183 action_result(pfn, MF_MSG_BUDDY, MF_DELAYED); in memory_failure()
1185 action_result(pfn, MF_MSG_BUDDY_2ND, in memory_failure()
1199 action_result(pfn, MF_MSG_DIFFERENT_COMPOUND, MF_IGNORED); in memory_failure()
1217 printk(KERN_ERR "MCE %#lx: just unpoisoned\n", pfn); in memory_failure()
1239 action_result(pfn, MF_MSG_POISONED_HUGE, MF_IGNORED); in memory_failure()
1266 if (hwpoison_user_mappings(p, pfn, trapno, flags, &hpage) in memory_failure()
1268 action_result(pfn, MF_MSG_UNMAP_FAILED, MF_IGNORED); in memory_failure()
1277 action_result(pfn, MF_MSG_TRUNCATED_LRU, MF_IGNORED); in memory_failure()
1299 res = page_action(ps, p, pfn); in memory_failure()
1310 unsigned long pfn; member
1341 void memory_failure_queue(unsigned long pfn, int trapno, int flags) in memory_failure_queue() argument
1346 .pfn = pfn, in memory_failure_queue()
1357 pfn); in memory_failure_queue()
1378 soft_offline_page(pfn_to_page(entry.pfn), entry.flags); in memory_failure_work_func()
1380 memory_failure(entry.pfn, entry.trapno, entry.flags); in memory_failure_work_func()
1400 #define unpoison_pr_info(fmt, pfn, rs) \ argument
1403 pr_info(fmt, pfn); \
1418 int unpoison_memory(unsigned long pfn) in unpoison_memory() argument
1427 if (!pfn_valid(pfn)) in unpoison_memory()
1430 p = pfn_to_page(pfn); in unpoison_memory()
1435 pfn, &unpoison_rs); in unpoison_memory()
1441 pfn, &unpoison_rs); in unpoison_memory()
1447 pfn, &unpoison_rs); in unpoison_memory()
1453 pfn, &unpoison_rs); in unpoison_memory()
1464 pfn, &unpoison_rs); in unpoison_memory()
1479 pfn, &unpoison_rs); in unpoison_memory()
1485 pfn, &unpoison_rs); in unpoison_memory()
1498 pfn, &unpoison_rs); in unpoison_memory()
1507 if (freeit && !(pfn == my_zero_pfn(0) && page_count(p) == 1)) in unpoison_memory()
1530 static int __get_any_page(struct page *p, unsigned long pfn, int flags) in __get_any_page() argument
1543 pr_info("%s: %#lx free huge page\n", __func__, pfn); in __get_any_page()
1546 pr_info("%s: %#lx free buddy page\n", __func__, pfn); in __get_any_page()
1550 __func__, pfn, p->flags); in __get_any_page()
1560 static int get_any_page(struct page *page, unsigned long pfn, int flags) in get_any_page() argument
1562 int ret = __get_any_page(page, pfn, flags); in get_any_page()
1574 ret = __get_any_page(page, pfn, 0); in get_any_page()
1579 pfn, page->flags); in get_any_page()
1589 unsigned long pfn = page_to_pfn(page); in soft_offline_huge_page() local
1601 pr_info("soft offline: %#lx hugepage already poisoned\n", pfn); in soft_offline_huge_page()
1613 pr_info("soft offline: %#lx hugepage failed to isolate\n", pfn); in soft_offline_huge_page()
1621 pfn, ret, page->flags); in soft_offline_huge_page()
1647 unsigned long pfn = page_to_pfn(page); in __soft_offline_page() local
1660 pr_info("soft offline: %#lx page already poisoned\n", pfn); in __soft_offline_page()
1675 pr_info("soft_offline: %#lx: invalidated\n", pfn); in __soft_offline_page()
1708 pfn, ret, page->flags); in __soft_offline_page()
1714 pfn, ret, page_count(page), page->flags); in __soft_offline_page()
1744 unsigned long pfn = page_to_pfn(page); in soft_offline_page() local
1748 pr_info("soft offline: %#lx page already poisoned\n", pfn); in soft_offline_page()
1756 pfn); in soft_offline_page()
1765 ret = get_any_page(page, pfn, flags); in soft_offline_page()