Skip to content

Commit

Permalink
mm/damon: convert damon_pa_mark_accessed_or_deactivate() to use folios
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Vishal Moola (Oracle) authored and Andrew Morton committed Jan 19, 2023
1 parent 07e8c82 commit f70da5e
Showing 1 changed file with 8 additions and 6 deletions.
14 changes: 8 additions & 6 deletions mm/damon/paddr.c
Original file line number Diff line number Diff line change
Expand Up @@ -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) {
struct page *page = damon_get_page(PHYS_PFN(addr));
struct folio *folio;

if (!page)
continue;
folio = page_folio(page);

if (damos_pa_filter_out(s, page)) {
put_page(page);
if (damos_pa_filter_out(s, &folio->page)) {
folio_put(folio);
continue;
}

if (mark_accessed)
mark_page_accessed(page);
folio_mark_accessed(folio);
else
deactivate_page(page);
put_page(page);
applied++;
deactivate_page(&folio->page);
folio_put(folio);
applied += folio_nr_pages(folio);
}
return applied * PAGE_SIZE;
}
Expand Down

0 comments on commit f70da5e

Please sign in to comment.