Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751352AbdHAGXF (ORCPT ); Tue, 1 Aug 2017 02:23:05 -0400 Received: from LGEAMRELO12.lge.com ([156.147.23.52]:35775 "EHLO lgeamrelo12.lge.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750819AbdHAGXE (ORCPT ); Tue, 1 Aug 2017 02:23:04 -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 Date: Tue, 1 Aug 2017 15:23:01 +0900 From: Minchan Kim To: Christoph Hellwig Cc: Andrew Morton , Matthew Wilcox , Ross Zwisler , linux-kernel@vger.kernel.org, "karam . lee" , Jerome Marchand , Nitin Gupta , seungho1.park@lge.com, Dan Williams , Dave Chinner , Jan Kara , Jens Axboe , Vishal Verma , linux-nvdimm@lists.01.org Subject: Re: [PATCH 0/3] remove rw_page() from brd, pmem and btt Message-ID: <20170801062301.GB19932@bbox> References: <20170728165604.10455-1-ross.zwisler@linux.intel.com> <20170728173143.GE15980@bombadil.infradead.org> <20170728142123.729b20e9fcf45c6a814f18e7@linux-foundation.org> <20170730221659.GA28031@bbox> <20170731071707.GA16299@lst.de> <20170731073647.GA26199@bbox> <20170731074206.GA16706@lst.de> <20170731074404.GA16749@lst.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170731074404.GA16749@lst.de> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 973 Lines: 20 On Mon, Jul 31, 2017 at 09:44:04AM +0200, Christoph Hellwig wrote: > On Mon, Jul 31, 2017 at 09:42:06AM +0200, Christoph Hellwig wrote: > > On Mon, Jul 31, 2017 at 04:36:47PM +0900, Minchan Kim wrote: > > > Do you suggest define something special flag(e.g., SWP_INMEMORY) > > > for in-memory swap to swap_info_struct when swapon time manually > > > or from bdi_queue_someting automatically? > > > And depending the flag of swap_info_struct, use the onstack bio > > > instead of dynamic allocation if the swap device is in-memory? > > > > Currently swap always just does I/O on a single page as far > > as I can tell, so it can always just use an on-stack bio and > > biovec. > > That's for synchronous I/O, aka reads of course. For writes you'll > need to do a dynamic allocation if they are asynchronous. But yes, > if we want to force certain devices to be synchronous we'll need > a flag for that. Okay, I will look into that. Thanks for the suggestion, Christoph.