Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752103AbdHHGuf (ORCPT ); Tue, 8 Aug 2017 02:50:35 -0400 Received: from LGEAMRELO12.lge.com ([156.147.23.52]:36991 "EHLO lgeamrelo12.lge.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751863AbdHHGud (ORCPT ); Tue, 8 Aug 2017 02:50:33 -0400 X-Original-SENDERIP: 156.147.1.127 X-Original-MAILFROM: minchan@kernel.org X-Original-SENDERIP: 10.177.220.163 X-Original-MAILFROM: minchan@kernel.org From: Minchan Kim To: Andrew Morton Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, Ross Zwisler , "karam . lee" , seungho1.park@lge.com, Matthew Wilcox , Christoph Hellwig , Dan Williams , Dave Chinner , jack@suse.cz, Jens Axboe , Vishal Verma , linux-nvdimm@lists.01.org, kernel-team , Minchan Kim Subject: [PATCH v1 0/6] Remove rw_page Date: Tue, 8 Aug 2017 15:50:18 +0900 Message-Id: <1502175024-28338-1-git-send-email-minchan@kernel.org> X-Mailer: git-send-email 2.7.4 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1510 Lines: 37 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@linux.intel.com> Minchan Kim (6): bdi: introduce BDI_CAP_SYNC fs: use on-stack-bio if backing device has BDI_CAP_SYNC capability mm:swap: remove end_swap_bio_write argument mm:swap: use on-stack-bio for BDI_CAP_SYNC devices zram: remove zram_rw_page fs: remove rw_page drivers/block/brd.c | 2 + drivers/block/zram/zram_drv.c | 54 +--------------- drivers/nvdimm/btt.c | 2 + drivers/nvdimm/pmem.c | 2 + fs/block_dev.c | 76 ---------------------- fs/mpage.c | 45 +++++++++++-- include/linux/backing-dev.h | 7 ++ include/linux/blkdev.h | 4 -- include/linux/swap.h | 6 +- mm/page_io.c | 145 +++++++++++++++++++++++++----------------- mm/swapfile.c | 3 + mm/zswap.c | 2 +- 12 files changed, 147 insertions(+), 201 deletions(-) -- 2.7.4