Lines Matching refs:folio
19 static bool __damon_pa_mkold(struct folio *folio, struct vm_area_struct *vma, in __damon_pa_mkold() argument
22 DEFINE_FOLIO_VMA_WALK(pvmw, folio, vma, addr, 0); in __damon_pa_mkold()
36 struct folio *folio; in damon_pa_mkold() local
46 folio = page_folio(page); in damon_pa_mkold()
48 if (!folio_mapped(folio) || !folio_raw_mapping(folio)) { in damon_pa_mkold()
49 folio_set_idle(folio); in damon_pa_mkold()
53 need_lock = !folio_test_anon(folio) || folio_test_ksm(folio); in damon_pa_mkold()
54 if (need_lock && !folio_trylock(folio)) in damon_pa_mkold()
57 rmap_walk(folio, &rwc); in damon_pa_mkold()
60 folio_unlock(folio); in damon_pa_mkold()
63 folio_put(folio); in damon_pa_mkold()
89 static bool __damon_pa_young(struct folio *folio, struct vm_area_struct *vma, in __damon_pa_young() argument
93 DEFINE_FOLIO_VMA_WALK(pvmw, folio, vma, addr, 0); in __damon_pa_young()
101 !folio_test_idle(folio) || in __damon_pa_young()
106 !folio_test_idle(folio) || in __damon_pa_young()
125 struct folio *folio; in damon_pa_young() local
140 folio = page_folio(page); in damon_pa_young()
142 if (!folio_mapped(folio) || !folio_raw_mapping(folio)) { in damon_pa_young()
143 if (folio_test_idle(folio)) in damon_pa_young()
147 folio_put(folio); in damon_pa_young()
151 need_lock = !folio_test_anon(folio) || folio_test_ksm(folio); in damon_pa_young()
152 if (need_lock && !folio_trylock(folio)) { in damon_pa_young()
153 folio_put(folio); in damon_pa_young()
157 rmap_walk(folio, &rwc); in damon_pa_young()
160 folio_unlock(folio); in damon_pa_young()
161 folio_put(folio); in damon_pa_young()