Lines Matching defs:folio

19 static bool damon_folio_mkold_one(struct folio *folio,
22 DEFINE_FOLIO_VMA_WALK(pvmw, folio, vma, addr, 0);
34 static void damon_folio_mkold(struct folio *folio)
42 if (!folio_mapped(folio) || !folio_raw_mapping(folio)) {
43 folio_set_idle(folio);
47 need_lock = !folio_test_anon(folio) || folio_test_ksm(folio);
48 if (need_lock && !folio_trylock(folio))
51 rmap_walk(folio, &rwc);
54 folio_unlock(folio);
60 struct folio *folio = damon_get_folio(PHYS_PFN(paddr));
62 if (!folio)
65 damon_folio_mkold(folio);
66 folio_put(folio);
87 static bool damon_folio_young_one(struct folio *folio,
91 DEFINE_FOLIO_VMA_WALK(pvmw, folio, vma, addr, 0);
98 !folio_test_idle(folio) ||
103 !folio_test_idle(folio) ||
119 static bool damon_folio_young(struct folio *folio)
129 if (!folio_mapped(folio) || !folio_raw_mapping(folio)) {
130 if (folio_test_idle(folio))
136 need_lock = !folio_test_anon(folio) || folio_test_ksm(folio);
137 if (need_lock && !folio_trylock(folio))
140 rmap_walk(folio, &rwc);
143 folio_unlock(folio);
150 struct folio *folio = damon_get_folio(PHYS_PFN(paddr));
153 if (!folio)
156 accessed = damon_folio_young(folio);
157 *folio_sz = folio_size(folio);
158 folio_put(folio);
199 struct folio *folio)
206 matched = folio_test_anon(folio);
210 memcg = folio_memcg_check(folio);
218 matched = damon_folio_young(folio);
220 damon_folio_mkold(folio);
232 static bool damos_pa_filter_out(struct damos *scheme, struct folio *folio)
237 if (__damos_pa_filter_out(filter, folio))
265 struct folio *folio = damon_get_folio(PHYS_PFN(addr));
267 if (!folio)
270 if (damos_pa_filter_out(s, folio))
273 folio_clear_referenced(folio);
274 folio_test_clear_young(folio);
275 if (!folio_isolate_lru(folio))
277 if (folio_test_unevictable(folio))
278 folio_putback_lru(folio);
280 list_add(&folio->lru, &folio_list);
282 folio_put(folio);
297 struct folio *folio = damon_get_folio(PHYS_PFN(addr));
299 if (!folio)
302 if (damos_pa_filter_out(s, folio))
306 folio_mark_accessed(folio);
308 folio_deactivate(folio);
309 applied += folio_nr_pages(folio);
311 folio_put(folio);