[PATCH] mm: Fix PSWPIN counter for large folios swap-in
From: Barry Song
Date: Wed Oct 23 2024 - 17:04:20 EST
From: Barry Song <v-songbaohua@xxxxxxxx>
Similar to PSWPOUT, we should count the number of base pages
instead of large folios.
Fixes: 242d12c98174 ("mm: support large folios swap-in for sync io devices")
Cc: Chris Li <chrisl@xxxxxxxxxx>
Cc: Yosry Ahmed <yosryahmed@xxxxxxxxxx>
Cc: Baolin Wang <baolin.wang@xxxxxxxxxxxxxxxxx>
Cc: David Hildenbrand <david@xxxxxxxxxx>
Cc: "Huang, Ying" <ying.huang@xxxxxxxxx>
Cc: Kairui Song <kasong@xxxxxxxxxxx>
Cc: Ryan Roberts <ryan.roberts@xxxxxxx>
Cc: Kanchana P Sridhar <kanchana.p.sridhar@xxxxxxxxx>
Cc: Usama Arif <usamaarif642@xxxxxxxxx>
Signed-off-by: Barry Song <v-songbaohua@xxxxxxxx>
---
mm/page_io.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/mm/page_io.c b/mm/page_io.c
index a28d28b6b3ce..c69fab5060a1 100644
--- a/mm/page_io.c
+++ b/mm/page_io.c
@@ -574,7 +574,7 @@ static void swap_read_folio_bdev_sync(struct folio *folio,
*/
get_task_struct(current);
count_memcg_folio_events(folio, PSWPIN, folio_nr_pages(folio));
- count_vm_event(PSWPIN);
+ count_vm_events(PSWPIN, folio_nr_pages(folio));
submit_bio_wait(&bio);
__end_swap_bio_read(&bio);
put_task_struct(current);
@@ -590,7 +590,7 @@ static void swap_read_folio_bdev_async(struct folio *folio,
bio->bi_end_io = end_swap_bio_read;
bio_add_folio_nofail(bio, folio, folio_size(folio), 0);
count_memcg_folio_events(folio, PSWPIN, folio_nr_pages(folio));
- count_vm_event(PSWPIN);
+ count_vm_events(PSWPIN, folio_nr_pages(folio));
submit_bio(bio);
}
--
2.39.3 (Apple Git-146)