[PATCH v4 00/10] Convert several functions in page_io.c to use a folio

From: Peng Zhang
Date: Thu Jul 20 2023 - 23:45:22 EST


From: ZhangPeng <zhangpeng362@xxxxxxxxxx>

This patch series converts several functions in page_io.c to use a
folio, which can remove several implicit calls to compound_head().

Changelog:

v4:
- add THP ifdefs per kernel test robot (patch 9)

v3:
- introduce bio_first_folio_all(), rather than replacing
bio_first_page_all() per Matthew (patch 3)
- use a folio in __end_swap_bio_write() (patch 4)
- remove unneeded ifdefs per Matthew (patch 9)

v2:
- remove unneeded ClearPageUptodate() and SetPageError(), suggested by
Matthew Wilcox
- convert bio_first_page_all() to bio_first_folio_all(), suggested by
Matthew Wilcox
- convert PageTransHuge to folio_test_pmd_mappable per Matthew Wilcox

ZhangPeng (10):
mm/page_io: remove unneeded ClearPageUptodate()
mm/page_io: remove unneeded SetPageError()
mm/page_io: introduce bio_first_folio_all()
mm/page_io: use a folio in __end_swap_bio_write()
mm/page_io: use a folio in __end_swap_bio_read()
mm/page_io: use a folio in sio_read_complete()
mm/page_io: use a folio in swap_writepage_bdev_sync()
mm/page_io: use a folio in swap_writepage_bdev_async()
mm/page_io: convert count_swpout_vm_event() to take in a folio
mm/page_io: convert bio_associate_blkg_from_page() to take in a folio

Documentation/block/biovecs.rst | 1 +
include/linux/bio.h | 5 +++
mm/page_io.c | 61 ++++++++++++++++-----------------
3 files changed, 35 insertions(+), 32 deletions(-)

--
2.25.1