mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02: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) {
 | 
			
		||||
		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;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue