mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2026-05-26 11:40:24 +02:00
ksm: convert should_skip_rmap_item() to take a folio
Remove a call to PageKSM() by passing the folio containing tmp_page to should_skip_rmap_item. Removes a hidden call to compound_head(). Link: https://lkml.kernel.org/r/20241002152533.1350629-4-willy@infradead.org Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org> Acked-by: David Hildenbrand <david@redhat.com> Cc: Alex Shi <alexs@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
committed by
Andrew Morton
parent
98c3ca0015
commit
76f1a82611
@@ -2402,10 +2402,10 @@ static unsigned int skip_age(rmap_age_t age)
|
||||
/*
|
||||
* Determines if a page should be skipped for the current scan.
|
||||
*
|
||||
* @page: page to check
|
||||
* @folio: folio containing the page to check
|
||||
* @rmap_item: associated rmap_item of page
|
||||
*/
|
||||
static bool should_skip_rmap_item(struct page *page,
|
||||
static bool should_skip_rmap_item(struct folio *folio,
|
||||
struct ksm_rmap_item *rmap_item)
|
||||
{
|
||||
rmap_age_t age;
|
||||
@@ -2418,7 +2418,7 @@ static bool should_skip_rmap_item(struct page *page,
|
||||
* will essentially ignore them, but we still have to process them
|
||||
* properly.
|
||||
*/
|
||||
if (PageKsm(page))
|
||||
if (folio_test_ksm(folio))
|
||||
return false;
|
||||
|
||||
age = rmap_item->age;
|
||||
@@ -2561,7 +2561,7 @@ next_mm:
|
||||
ksm_scan.rmap_list =
|
||||
&rmap_item->rmap_list;
|
||||
|
||||
if (should_skip_rmap_item(tmp_page, rmap_item)) {
|
||||
if (should_skip_rmap_item(folio, rmap_item)) {
|
||||
folio_put(folio);
|
||||
goto next_page;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user