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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux