Lines Matching refs:hpage

1081 	struct page *hpage = compound_head(p);  in me_huge_page()  local
1085 if (!PageHuge(hpage)) in me_huge_page()
1088 mapping = page_mapping(hpage); in me_huge_page()
1090 res = truncate_error_page(hpage, page_to_pfn(p), mapping); in me_huge_page()
1093 unlock_page(hpage); in me_huge_page()
1095 unlock_page(hpage); in me_huge_page()
1101 put_page(hpage); in me_huge_page()
1401 int flags, struct page *hpage) in hwpoison_user_mappings() argument
1403 struct folio *folio = page_folio(hpage); in hwpoison_user_mappings()
1409 bool mlocked = PageMlocked(hpage); in hwpoison_user_mappings()
1417 if (!(PageLRU(hpage) || PageHuge(p))) in hwpoison_user_mappings()
1424 if (!page_mapped(hpage)) in hwpoison_user_mappings()
1443 mapping = page_mapping(hpage); in hwpoison_user_mappings()
1444 if (!(flags & MF_MUST_KILL) && !PageDirty(hpage) && mapping && in hwpoison_user_mappings()
1446 if (page_mkclean(hpage)) { in hwpoison_user_mappings()
1447 SetPageDirty(hpage); in hwpoison_user_mappings()
1460 collect_procs(hpage, &tokill, flags & MF_ACTION_REQUIRED); in hwpoison_user_mappings()
1462 if (PageHuge(hpage) && !PageAnon(hpage)) { in hwpoison_user_mappings()
1470 mapping = hugetlb_page_mapping_lock_write(hpage); in hwpoison_user_mappings()
1480 unmap_success = !page_mapped(hpage); in hwpoison_user_mappings()
1483 pfn, page_mapcount(hpage)); in hwpoison_user_mappings()
1490 shake_page(hpage); in hwpoison_user_mappings()
1502 forcekill = PageDirty(hpage) || (flags & MF_MUST_KILL) || in hwpoison_user_mappings()
1685 static inline struct llist_head *raw_hwp_list_head(struct page *hpage) in raw_hwp_list_head() argument
1687 return (struct llist_head *)&page_private(hpage + SUBPAGE_INDEX_HWPOISON); in raw_hwp_list_head()
1690 static unsigned long __free_raw_hwp_pages(struct page *hpage, bool move_flag) in __free_raw_hwp_pages() argument
1696 head = raw_hwp_list_head(hpage); in __free_raw_hwp_pages()
1709 static int hugetlb_set_page_hwpoison(struct page *hpage, struct page *page) in hugetlb_set_page_hwpoison() argument
1714 int ret = TestSetPageHWPoison(hpage) ? -EHWPOISON : 0; in hugetlb_set_page_hwpoison()
1721 if (HPageRawHwpUnreliable(hpage)) in hugetlb_set_page_hwpoison()
1723 head = raw_hwp_list_head(hpage); in hugetlb_set_page_hwpoison()
1744 SetHPageRawHwpUnreliable(hpage); in hugetlb_set_page_hwpoison()
1749 __free_raw_hwp_pages(hpage, false); in hugetlb_set_page_hwpoison()
1754 static unsigned long free_raw_hwp_pages(struct page *hpage, bool move_flag) in free_raw_hwp_pages() argument
1760 if (move_flag && HPageVmemmapOptimized(hpage)) in free_raw_hwp_pages()
1767 if (HPageRawHwpUnreliable(hpage)) in free_raw_hwp_pages()
1770 return __free_raw_hwp_pages(hpage, move_flag); in free_raw_hwp_pages()
1773 void hugetlb_clear_page_hwpoison(struct page *hpage) in hugetlb_clear_page_hwpoison() argument
1775 if (HPageRawHwpUnreliable(hpage)) in hugetlb_clear_page_hwpoison()
1777 ClearPageHWPoison(hpage); in hugetlb_clear_page_hwpoison()
1778 free_raw_hwp_pages(hpage, true); in hugetlb_clear_page_hwpoison()
1910 static inline unsigned long free_raw_hwp_pages(struct page *hpage, bool flag) in free_raw_hwp_pages() argument
1980 struct page *hpage; in memory_failure() local
2029 hpage = compound_head(p); in memory_failure()
2072 if (PageTransHuge(hpage)) { in memory_failure()
2086 SetPageHasHWPoisoned(hpage); in memory_failure()
2453 struct page *hpage = compound_head(page); in soft_offline_in_use_page() local
2462 if (!huge && PageTransHuge(hpage)) { in soft_offline_in_use_page()
2467 hpage = page; in soft_offline_in_use_page()
2494 if (isolate_page(hpage, &pagelist)) { in soft_offline_in_use_page()