[PATCH v2 6/9] mm/page_io: use a folio in swap_writepage_bdev_sync()

From: Peng Zhang
Date: Wed Jul 19 2023 - 06:00:02 EST


From: ZhangPeng <zhangpeng362@xxxxxxxxxx>

Saves one implicit call to compound_head().

Signed-off-by: ZhangPeng <zhangpeng362@xxxxxxxxxx>
Reviewed-by: Matthew Wilcox (Oracle) <willy@xxxxxxxxxxxxx>
---
mm/page_io.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/mm/page_io.c b/mm/page_io.c
index 92f21f380ee8..0c96ea9dd258 100644
--- a/mm/page_io.c
+++ b/mm/page_io.c
@@ -331,6 +331,7 @@ static void swap_writepage_bdev_sync(struct page *page,
{
struct bio_vec bv;
struct bio bio;
+ struct folio *folio = page_folio(page);

bio_init(&bio, sis->bdev, &bv, 1,
REQ_OP_WRITE | REQ_SWAP | wbc_to_write_flags(wbc));
@@ -340,8 +341,8 @@ static void swap_writepage_bdev_sync(struct page *page,
bio_associate_blkg_from_page(&bio, page);
count_swpout_vm_event(page);

- set_page_writeback(page);
- unlock_page(page);
+ folio_start_writeback(folio);
+ folio_unlock(folio);

submit_bio_wait(&bio);
__end_swap_bio_write(&bio);
--
2.25.1