On 2024/10/24 05:02, Barry Song wrote:
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>
LGTM. Reviewed-by: Baolin Wang <baolin.wang@xxxxxxxxxxxxxxxxx>
--- 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); }