Lines Matching refs:hpage
735 struct page *hpage = compound_head(p); in me_huge_page() local
737 if (!PageHuge(hpage)) in me_huge_page()
750 if (!(page_mapping(hpage) || PageAnon(hpage))) { in me_huge_page()
751 res = dequeue_hwpoisoned_huge_page(hpage); in me_huge_page()
952 struct page *hpage = *hpagep; in hwpoison_user_mappings() local
960 if (!(PageLRU(hpage) || PageHuge(p))) in hwpoison_user_mappings()
967 if (!page_mapped(hpage)) in hwpoison_user_mappings()
987 mapping = page_mapping(hpage); in hwpoison_user_mappings()
988 if (!(flags & MF_MUST_KILL) && !PageDirty(hpage) && mapping && in hwpoison_user_mappings()
990 if (page_mkclean(hpage)) { in hwpoison_user_mappings()
991 SetPageDirty(hpage); in hwpoison_user_mappings()
1010 collect_procs(hpage, &tokill, flags & MF_ACTION_REQUIRED); in hwpoison_user_mappings()
1012 ret = try_to_unmap(hpage, ttu); in hwpoison_user_mappings()
1015 pfn, page_mapcount(hpage)); in hwpoison_user_mappings()
1027 forcekill = PageDirty(hpage) || (flags & MF_MUST_KILL); in hwpoison_user_mappings()
1034 static void set_page_hwpoison_huge_page(struct page *hpage) in set_page_hwpoison_huge_page() argument
1037 int nr_pages = 1 << compound_order(hpage); in set_page_hwpoison_huge_page()
1039 SetPageHWPoison(hpage + i); in set_page_hwpoison_huge_page()
1042 static void clear_page_hwpoison_huge_page(struct page *hpage) in clear_page_hwpoison_huge_page() argument
1045 int nr_pages = 1 << compound_order(hpage); in clear_page_hwpoison_huge_page()
1047 ClearPageHWPoison(hpage + i); in clear_page_hwpoison_huge_page()
1072 struct page *hpage; in memory_failure() local
1089 orig_head = hpage = compound_head(p); in memory_failure()
1103 nr_pages = 1 << compound_order(hpage); in memory_failure()
1126 } else if (PageHuge(hpage)) { in memory_failure()
1130 lock_page(hpage); in memory_failure()
1131 if (PageHWPoison(hpage)) { in memory_failure()
1133 || (p != hpage && TestSetPageHWPoison(hpage))) { in memory_failure()
1135 unlock_page(hpage); in memory_failure()
1139 set_page_hwpoison_huge_page(hpage); in memory_failure()
1140 res = dequeue_hwpoisoned_huge_page(hpage); in memory_failure()
1143 unlock_page(hpage); in memory_failure()
1151 if (!PageHuge(p) && PageTransHuge(hpage)) { in memory_failure()
1152 if (!PageAnon(hpage) || unlikely(split_huge_page(hpage))) { in memory_failure()
1153 if (!PageAnon(hpage)) in memory_failure()
1163 hpage = compound_head(p); in memory_failure()
1192 lock_page(hpage); in memory_failure()
1219 unlock_page(hpage); in memory_failure()
1220 put_hwpoison_page(hpage); in memory_failure()
1226 unlock_page(hpage); in memory_failure()
1227 put_hwpoison_page(hpage); in memory_failure()
1238 if (PageHuge(p) && PageTail(p) && TestSetPageHWPoison(hpage)) { in memory_failure()
1240 unlock_page(hpage); in memory_failure()
1241 put_hwpoison_page(hpage); in memory_failure()
1251 set_page_hwpoison_huge_page(hpage); in memory_failure()
1266 if (hwpoison_user_mappings(p, pfn, trapno, flags, &hpage) in memory_failure()
1301 unlock_page(hpage); in memory_failure()
1590 struct page *hpage = compound_head(page); in soft_offline_huge_page() local
1597 lock_page(hpage); in soft_offline_huge_page()
1598 if (PageHWPoison(hpage)) { in soft_offline_huge_page()
1599 unlock_page(hpage); in soft_offline_huge_page()
1600 put_hwpoison_page(hpage); in soft_offline_huge_page()
1604 unlock_page(hpage); in soft_offline_huge_page()
1606 ret = isolate_huge_page(hpage, &pagelist); in soft_offline_huge_page()
1611 put_hwpoison_page(hpage); in soft_offline_huge_page()
1627 putback_active_hugepage(hpage); in soft_offline_huge_page()
1633 set_page_hwpoison_huge_page(hpage); in soft_offline_huge_page()
1634 dequeue_hwpoisoned_huge_page(hpage); in soft_offline_huge_page()
1635 num_poisoned_pages_add(1 << compound_order(hpage)); in soft_offline_huge_page()
1745 struct page *hpage = compound_head(page); in soft_offline_page() local
1753 if (!PageHuge(page) && PageTransHuge(hpage)) { in soft_offline_page()
1754 if (PageAnon(hpage) && unlikely(split_huge_page(hpage))) { in soft_offline_page()
1774 set_page_hwpoison_huge_page(hpage); in soft_offline_page()
1775 if (!dequeue_hwpoisoned_huge_page(hpage)) in soft_offline_page()
1776 num_poisoned_pages_add(1 << compound_order(hpage)); in soft_offline_page()