mirror of
https://gitee.com/bianbu-linux/linux-6.6
synced 2025-04-24 14:07:52 -04:00
mm/damon: convert damon_pa_mark_accessed_or_deactivate() to use folios
This change replaces 2 calls to compound_head() from put_page() and 1 call from mark_page_accessed() with one from page_folio(). This is in preparation for the conversion of deactivate_page() to folio_deactivate(). Link: https://lkml.kernel.org/r/20221221180848.20774-4-vishal.moola@gmail.com Signed-off-by: Vishal Moola (Oracle) <vishal.moola@gmail.com> Reviewed-by: SeongJae Park <sj@kernel.org> Reviewed-by: Matthew Wilcox (Oracle) <willy@infradead.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
07e8c82b5e
commit
f70da5ee8f
1 changed files with 8 additions and 6 deletions
|
@ -283,21 +283,23 @@ static inline unsigned long damon_pa_mark_accessed_or_deactivate(
|
||||||
|
|
||||||
for (addr = r->ar.start; addr < r->ar.end; addr += PAGE_SIZE) {
|
for (addr = r->ar.start; addr < r->ar.end; addr += PAGE_SIZE) {
|
||||||
struct page *page = damon_get_page(PHYS_PFN(addr));
|
struct page *page = damon_get_page(PHYS_PFN(addr));
|
||||||
|
struct folio *folio;
|
||||||
|
|
||||||
if (!page)
|
if (!page)
|
||||||
continue;
|
continue;
|
||||||
|
folio = page_folio(page);
|
||||||
|
|
||||||
if (damos_pa_filter_out(s, page)) {
|
if (damos_pa_filter_out(s, &folio->page)) {
|
||||||
put_page(page);
|
folio_put(folio);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mark_accessed)
|
if (mark_accessed)
|
||||||
mark_page_accessed(page);
|
folio_mark_accessed(folio);
|
||||||
else
|
else
|
||||||
deactivate_page(page);
|
deactivate_page(&folio->page);
|
||||||
put_page(page);
|
folio_put(folio);
|
||||||
applied++;
|
applied += folio_nr_pages(folio);
|
||||||
}
|
}
|
||||||
return applied * PAGE_SIZE;
|
return applied * PAGE_SIZE;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue