Lines Matching defs:folio

138 	struct folio *folio;
141 folio = filemap_get_folio(swap_address_space(entry), offset);
142 if (IS_ERR(folio))
146 * called by vmscan.c at reclaiming folios. So we hold a folio lock
151 if (folio_trylock(folio)) {
153 ((flags & TTRS_UNMAPPED) && !folio_mapped(folio)) ||
154 ((flags & TTRS_FULL) && mem_cgroup_swap_full(folio)))
155 ret = folio_free_swap(folio);
156 folio_unlock(folio);
158 folio_put(folio);
1224 * prevent swapoff, such as the folio in swap cache is locked, page
1346 void put_swap_folio(struct folio *folio, swp_entry_t entry)
1355 int size = swap_entry_size(folio_nr_pages(folio));
1543 static bool folio_swapped(struct folio *folio)
1545 swp_entry_t entry = folio->swap;
1551 if (!IS_ENABLED(CONFIG_THP_SWAP) || likely(!folio_test_large(folio)))
1558 * folio_free_swap() - Free the swap space used for this folio.
1559 * @folio: The folio to remove.
1561 * If swap is getting full, or if there are no more mappings of this folio,
1566 bool folio_free_swap(struct folio *folio)
1568 VM_BUG_ON_FOLIO(!folio_test_locked(folio), folio);
1570 if (!folio_test_swapcache(folio))
1572 if (folio_test_writeback(folio))
1574 if (folio_swapped(folio))
1583 * the swap from a folio which has already been recorded in the
1584 * image as a clean swapcache folio, and then reuse its swap for
1586 * original folio might be freed under memory pressure, then
1595 delete_from_swap_cache(folio);
1596 folio_set_dirty(folio);
1754 unsigned long addr, swp_entry_t entry, struct folio *folio)
1756 struct page *page = folio_file_page(folio, swp_offset(entry));
1852 struct folio *folio;
1878 folio = swap_cache_get_folio(entry, vma, addr);
1879 if (!folio) {
1891 folio = page_folio(page);
1893 if (!folio) {
1900 folio_lock(folio);
1901 folio_wait_writeback(folio);
1902 ret = unuse_pte(vma, pmd, addr, entry, folio);
1904 folio_unlock(folio);
1905 folio_put(folio);
1909 folio_free_swap(folio);
1910 folio_unlock(folio);
1911 folio_put(folio);
2057 struct folio *folio;
2107 folio = filemap_get_folio(swap_address_space(entry), i);
2108 if (IS_ERR(folio))
2112 * It is conceivable that a racing task removed this folio from
2113 * swap cache just before we acquired the page lock. The folio
2117 folio_lock(folio);
2118 folio_wait_writeback(folio);
2119 folio_free_swap(folio);
2120 folio_unlock(folio);
2121 folio_put(folio);
3426 struct address_space *swapcache_mapping(struct folio *folio)
3428 return page_swap_info(&folio->page)->swap_file->f_mapping;
3664 void __folio_throttle_swaprate(struct folio *folio, gfp_t gfp)
3667 int nid = folio_nid(folio);