Lines Matching refs:hpage
778 struct page *hpage = compound_head(p); in me_huge_page() local
789 if (!(page_mapping(hpage) || PageAnon(hpage))) { in me_huge_page()
790 res = dequeue_hwpoisoned_huge_page(hpage); in me_huge_page()
929 struct page *hpage = *hpagep; in hwpoison_user_mappings() local
938 if (!(PageLRU(hpage) || PageHuge(p))) in hwpoison_user_mappings()
945 if (!page_mapped(hpage)) in hwpoison_user_mappings()
965 mapping = page_mapping(hpage); in hwpoison_user_mappings()
966 if (!(flags & MF_MUST_KILL) && !PageDirty(hpage) && mapping && in hwpoison_user_mappings()
968 if (page_mkclean(hpage)) { in hwpoison_user_mappings()
969 SetPageDirty(hpage); in hwpoison_user_mappings()
985 ppage = hpage; in hwpoison_user_mappings()
987 if (PageTransHuge(hpage)) { in hwpoison_user_mappings()
998 if (!PageHuge(hpage) && PageAnon(hpage)) { in hwpoison_user_mappings()
999 if (unlikely(split_huge_page(hpage))) { in hwpoison_user_mappings()
1018 if (hpage != p) { in hwpoison_user_mappings()
1020 put_page(hpage); in hwpoison_user_mappings()
1024 unlock_page(hpage); in hwpoison_user_mappings()
1065 static void set_page_hwpoison_huge_page(struct page *hpage) in set_page_hwpoison_huge_page() argument
1068 int nr_pages = 1 << compound_order(hpage); in set_page_hwpoison_huge_page()
1070 SetPageHWPoison(hpage + i); in set_page_hwpoison_huge_page()
1073 static void clear_page_hwpoison_huge_page(struct page *hpage) in clear_page_hwpoison_huge_page() argument
1076 int nr_pages = 1 << compound_order(hpage); in clear_page_hwpoison_huge_page()
1078 ClearPageHWPoison(hpage + i); in clear_page_hwpoison_huge_page()
1103 struct page *hpage; in memory_failure() local
1119 hpage = compound_head(p); in memory_failure()
1133 nr_pages = 1 << compound_order(hpage); in memory_failure()
1153 !get_page_unless_zero(hpage)) { in memory_failure()
1157 } else if (PageHuge(hpage)) { in memory_failure()
1161 lock_page(hpage); in memory_failure()
1162 if (PageHWPoison(hpage)) { in memory_failure()
1164 || (p != hpage && TestSetPageHWPoison(hpage))) { in memory_failure()
1166 unlock_page(hpage); in memory_failure()
1170 set_page_hwpoison_huge_page(hpage); in memory_failure()
1171 res = dequeue_hwpoisoned_huge_page(hpage); in memory_failure()
1174 unlock_page(hpage); in memory_failure()
1191 if (!PageLRU(hpage)) in memory_failure()
1192 shake_page(hpage, 0); in memory_failure()
1193 if (!PageLRU(hpage)) { in memory_failure()
1208 lock_page(hpage); in memory_failure()
1214 if (compound_head(p) != hpage) { in memory_failure()
1235 put_page(hpage); in memory_failure()
1242 unlock_page(hpage); in memory_failure()
1243 put_page(hpage); in memory_failure()
1254 if (PageHuge(p) && PageTail(p) && TestSetPageHWPoison(hpage)) { in memory_failure()
1256 unlock_page(hpage); in memory_failure()
1257 put_page(hpage); in memory_failure()
1267 set_page_hwpoison_huge_page(hpage); in memory_failure()
1282 if (hwpoison_user_mappings(p, pfn, trapno, flags, &hpage) in memory_failure()
1317 unlock_page(hpage); in memory_failure()
1575 struct page *hpage = compound_head(page); in soft_offline_huge_page() local
1582 lock_page(hpage); in soft_offline_huge_page()
1583 if (PageHWPoison(hpage)) { in soft_offline_huge_page()
1584 unlock_page(hpage); in soft_offline_huge_page()
1585 put_page(hpage); in soft_offline_huge_page()
1589 unlock_page(hpage); in soft_offline_huge_page()
1591 ret = isolate_huge_page(hpage, &pagelist); in soft_offline_huge_page()
1596 put_page(hpage); in soft_offline_huge_page()
1612 putback_active_hugepage(hpage); in soft_offline_huge_page()
1618 set_page_hwpoison_huge_page(hpage); in soft_offline_huge_page()
1619 dequeue_hwpoisoned_huge_page(hpage); in soft_offline_huge_page()
1620 atomic_long_add(1 << compound_order(hpage), in soft_offline_huge_page()
1734 struct page *hpage = compound_head(page); in soft_offline_page() local
1740 if (!PageHuge(page) && PageTransHuge(hpage)) { in soft_offline_page()
1741 if (PageAnon(hpage) && unlikely(split_huge_page(hpage))) { in soft_offline_page()
1759 set_page_hwpoison_huge_page(hpage); in soft_offline_page()
1760 if (!dequeue_hwpoisoned_huge_page(hpage)) in soft_offline_page()
1761 atomic_long_add(1 << compound_order(hpage), in soft_offline_page()