Commit f70da5ee authored by Vishal Moola (Oracle)'s avatar Vishal Moola (Oracle) Committed by Andrew Morton

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.comSigned-off-by: default avatarVishal Moola (Oracle) <vishal.moola@gmail.com>
Reviewed-by: default avatarSeongJae Park <sj@kernel.org>
Reviewed-by: default avatarMatthew Wilcox (Oracle) <willy@infradead.org>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
parent 07e8c82b
...@@ -283,21 +283,23 @@ static inline unsigned long damon_pa_mark_accessed_or_deactivate( ...@@ -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;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment