[PATCH v2 0/7] Replace rw_page with on-stack bio

From: Minchan Kim
Date: Fri Aug 11 2017 - 01:17:55 EST


Recently, there was a dicussion about removing rw_page due to maintainance
burden[1] but the problem was zram because zram has a clear win for the
benchmark at that time. The reason why only zram have a win is due to
bio allocation wait time from mempool under extreme memory pressure.

Christoph Hellwig suggested we can use on-stack-bio for rw_page devices.
This patch implements it and replace rw_page operations with on-stack-bio
and then finally, remove rw_page interface completely.

This patch is based on linux-next-20170804

[1] http://lkml.kernel.org/r/<20170728165604.10455-1-ross.zwisler@xxxxxxxxxxxxxxx>

* from v1
* Fix trivial mistake
* simplify on-stack bio code - Matthew

Minchan Kim (7):
zram: set BDI_CAP_STABLE_WRITES once
bdi: introduce BDI_CAP_SYNCHRONOUS_IO
fs: use on-stack-bio if backing device has BDI_CAP_SYNCHRONOUS
capability
mm:swap: remove end_swap_bio_write argument
mm:swap: use on-stack-bio for BDI_CAP_SYNCHRONOUS device
zram: remove zram_rw_page
fs: remove rw_page

drivers/block/brd.c | 2 +
drivers/block/zram/zram_drv.c | 68 +++-----------------------------
drivers/nvdimm/btt.c | 3 ++
drivers/nvdimm/pmem.c | 2 +
fs/block_dev.c | 76 ------------------------------------
fs/mpage.c | 56 ++++++++++++++++++---------
include/linux/backing-dev.h | 8 ++++
include/linux/blkdev.h | 4 --
include/linux/swap.h | 6 +--
mm/page_io.c | 90 ++++++++++++++++++++++++-------------------
mm/swapfile.c | 3 ++
mm/zswap.c | 2 +-
12 files changed, 116 insertions(+), 204 deletions(-)

--
2.7.4