[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210128071133.60335-35-chaitanya.kulkarni@wdc.com>
Date: Wed, 27 Jan 2021 23:11:33 -0800
From: Chaitanya Kulkarni <chaitanya.kulkarni@....com>
To: linux-xfs@...r.kernel.org, linux-fsdevel@...r.kernel.org,
dm-devel@...hat.com, linux-block@...r.kernel.org,
linux-kernel@...r.kernel.org, drbd-dev@...ts.linbit.com,
xen-devel@...ts.xenproject.org, linux-nvme@...ts.infradead.org,
linux-scsi@...r.kernel.org, target-devel@...r.kernel.org,
linux-fscrypt@...r.kernel.org,
jfs-discussion@...ts.sourceforge.net, linux-nilfs@...r.kernel.org,
ocfs2-devel@....oracle.com, linux-pm@...r.kernel.org,
linux-mm@...ck.org
Cc: axboe@...nel.dk, philipp.reisner@...bit.com,
lars.ellenberg@...bit.com, konrad.wilk@...cle.com,
roger.pau@...rix.com, minchan@...nel.org, ngupta@...are.org,
sergey.senozhatsky.work@...il.com, agk@...hat.com,
snitzer@...hat.com, hch@....de, sagi@...mberg.me,
chaitanya.kulkarni@....com, martin.petersen@...cle.com,
viro@...iv.linux.org.uk, tytso@....edu, jaegeuk@...nel.org,
ebiggers@...nel.org, djwong@...nel.org, shaggy@...nel.org,
konishi.ryusuke@...il.com, mark@...heh.com, jlbec@...lplan.org,
joseph.qi@...ux.alibaba.com, damien.lemoal@....com,
naohiro.aota@....com, jth@...nel.org, rjw@...ysocki.net,
len.brown@...el.com, pavel@....cz, akpm@...ux-foundation.org,
hare@...e.de, gustavoars@...nel.org, tiwai@...e.de,
alex.shi@...ux.alibaba.com, asml.silence@...il.com,
ming.lei@...hat.com, tj@...nel.org, osandov@...com,
bvanassche@....org, jefflexu@...ux.alibaba.com
Subject: [RFC PATCH 34/34] mm: add swap_bio_new common bio helper
Signed-off-by: Chaitanya Kulkarni <chaitanya.kulkarni@....com>
---
mm/page_io.c | 26 ++++++++++++++++----------
1 file changed, 16 insertions(+), 10 deletions(-)
diff --git a/mm/page_io.c b/mm/page_io.c
index 7579485ccb5e..cc30c9a0b0a7 100644
--- a/mm/page_io.c
+++ b/mm/page_io.c
@@ -287,6 +287,17 @@ static void bio_associate_blkg_from_page(struct bio *bio, struct page *page)
#define bio_associate_blkg_from_page(bio, page) do { } while (0)
#endif /* CONFIG_MEMCG && CONFIG_BLK_CGROUP */
+static inline struct bio *swap_bio_new(struct block_device *dev,
+ unsigned op, unsigned opf, gfp_t gfp, struct page *p,
+ bio_end_io_t *end_io)
+{
+ struct bio *bio = bio_new(dev, swap_page_sector(p), op, opf, 1, gfp);
+
+ bio->bi_end_io = end_io;
+ bio_add_page(bio, p, thp_size(p), 0);
+ return bio;
+}
+
int __swap_writepage(struct page *page, struct writeback_control *wbc,
bio_end_io_t end_write_func)
{
@@ -342,11 +353,9 @@ int __swap_writepage(struct page *page, struct writeback_control *wbc,
return 0;
}
- bio = bio_new(sis->bdev, swap_page_sector(page), REQ_OP_WRITE,
- REQ_SWAP | wbc_to_write_flags(wbc), 1, GFP_NOIO);
- bio->bi_end_io = end_write_func;
- bio_add_page(bio, page, thp_size(page), 0);
-
+ bio = swap_bio_new(sis->bdev, REQ_OP_WRITE,
+ REQ_SWAP | wbc_to_write_flags(wbc), GFP_KERNEL,
+ page, end_write_func);
bio_associate_blkg_from_page(bio, page);
count_swpout_vm_event(page);
set_page_writeback(page);
@@ -406,11 +415,8 @@ int swap_readpage(struct page *page, bool synchronous)
}
ret = 0;
- bio = bio_new(sis->bdev, swap_page_sector(page), REQ_OP_READ, 0, 1,
- GFP_KERNEL);
- bio->bi_end_io = end_swap_bio_read;
- bio_add_page(bio, page, thp_size(page), 0);
-
+ bio = swap_bio_new(sis->bdev, REQ_OP_READ, 0, GFP_KERNEL, page,
+ end_swap_bio_read);
disk = bio->bi_bdev->bd_disk;
/*
* Keep this task valid during swap readpage because the oom killer may
--
2.22.1
Powered by blists - more mailing lists