With fast swap storage, platform want to use swap more aggressively and swap-in is crucial to application latency. The rw_page based synchronous devices like zram, pmem and btt are such fast storage. When I profile swapin performance with zram lz4 decompress test, S/W overhead is more than 70%. Maybe, it would be bigger in nvdimm. This patch aims for reducing swap-in latency via skipping swapcache if swap device is synchronous device like rw_page based device. It enhances 45% my swapin test(5G sequential swapin, no readahead, from 2.41sec to 1.64sec). Andrew, [1] is zram specific patch so could be applied separately but this patch is based on that so I include it in this series. * From v1 * style fix * a bug fix * drop page-cluster based readahead off * This regression could be solved by other patch from Huang. http://lkml.kernel.org/r/87tw04in60.fsf@xxxxxxxxxxxxxxxxxxxx Minchan Kim (4): [1] zram: set BDI_CAP_STABLE_WRITES once [2] bdi: introduce BDI_CAP_SYNCHRONOUS_IO [3] mm:swap: introduce SWP_SYNCHRONOUS_IO [4] mm:swap: skip swapcache for swapin of synchronous device drivers/block/brd.c | 2 ++ drivers/block/zram/zram_drv.c | 16 +++++-------- drivers/nvdimm/btt.c | 3 +++ drivers/nvdimm/pmem.c | 2 ++ include/linux/backing-dev.h | 8 +++++++ include/linux/swap.h | 14 +++++++++++- mm/memory.c | 52 ++++++++++++++++++++++++++++++------------- mm/page_io.c | 6 ++--- mm/swapfile.c | 14 ++++++++---- 9 files changed, 83 insertions(+), 34 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>