Re: [PATCH 0/3] remove rw_page() from brd, pmem and btt

2017-08-07 Thread Minchan Kim
On Fri, Aug 04, 2017 at 11:24:49AM -0700, Dan Williams wrote: > On Fri, Aug 4, 2017 at 11:21 AM, Ross Zwisler > wrote: > > On Fri, Aug 04, 2017 at 11:01:08AM -0700, Dan Williams wrote: > >> [ adding Dave who is working on a blk-mq + dma offload version of the > >>

Re: [PATCH 0/3] remove rw_page() from brd, pmem and btt

2017-08-07 Thread Minchan Kim
On Fri, Aug 04, 2017 at 11:24:49AM -0700, Dan Williams wrote: > On Fri, Aug 4, 2017 at 11:21 AM, Ross Zwisler > wrote: > > On Fri, Aug 04, 2017 at 11:01:08AM -0700, Dan Williams wrote: > >> [ adding Dave who is working on a blk-mq + dma offload version of the > >> pmem driver ] > >> > >> On Fri,

Re: [PATCH 0/3] remove rw_page() from brd, pmem and btt

2017-08-04 Thread Dan Williams
On Fri, Aug 4, 2017 at 11:21 AM, Ross Zwisler wrote: > On Fri, Aug 04, 2017 at 11:01:08AM -0700, Dan Williams wrote: >> [ adding Dave who is working on a blk-mq + dma offload version of the >> pmem driver ] >> >> On Fri, Aug 4, 2017 at 1:17 AM, Minchan Kim

Re: [PATCH 0/3] remove rw_page() from brd, pmem and btt

2017-08-04 Thread Dan Williams
On Fri, Aug 4, 2017 at 11:21 AM, Ross Zwisler wrote: > On Fri, Aug 04, 2017 at 11:01:08AM -0700, Dan Williams wrote: >> [ adding Dave who is working on a blk-mq + dma offload version of the >> pmem driver ] >> >> On Fri, Aug 4, 2017 at 1:17 AM, Minchan Kim wrote: >> > On Fri, Aug 04, 2017 at

Re: [PATCH 0/3] remove rw_page() from brd, pmem and btt

2017-08-04 Thread Ross Zwisler
On Fri, Aug 04, 2017 at 11:01:08AM -0700, Dan Williams wrote: > [ adding Dave who is working on a blk-mq + dma offload version of the > pmem driver ] > > On Fri, Aug 4, 2017 at 1:17 AM, Minchan Kim wrote: > > On Fri, Aug 04, 2017 at 12:54:41PM +0900, Minchan Kim wrote: > [..]

Re: [PATCH 0/3] remove rw_page() from brd, pmem and btt

2017-08-04 Thread Ross Zwisler
On Fri, Aug 04, 2017 at 11:01:08AM -0700, Dan Williams wrote: > [ adding Dave who is working on a blk-mq + dma offload version of the > pmem driver ] > > On Fri, Aug 4, 2017 at 1:17 AM, Minchan Kim wrote: > > On Fri, Aug 04, 2017 at 12:54:41PM +0900, Minchan Kim wrote: > [..] > >> Thanks for the

Re: [PATCH 0/3] remove rw_page() from brd, pmem and btt

2017-08-04 Thread Dan Williams
[ adding Dave who is working on a blk-mq + dma offload version of the pmem driver ] On Fri, Aug 4, 2017 at 1:17 AM, Minchan Kim wrote: > On Fri, Aug 04, 2017 at 12:54:41PM +0900, Minchan Kim wrote: [..] >> Thanks for the testing. Your testing number is within noise level? >>

Re: [PATCH 0/3] remove rw_page() from brd, pmem and btt

2017-08-04 Thread Dan Williams
[ adding Dave who is working on a blk-mq + dma offload version of the pmem driver ] On Fri, Aug 4, 2017 at 1:17 AM, Minchan Kim wrote: > On Fri, Aug 04, 2017 at 12:54:41PM +0900, Minchan Kim wrote: [..] >> Thanks for the testing. Your testing number is within noise level? >> >> I cannot

Re: [PATCH 0/3] remove rw_page() from brd, pmem and btt

2017-08-04 Thread Minchan Kim
On Fri, Aug 04, 2017 at 12:54:41PM +0900, Minchan Kim wrote: > On Thu, Aug 03, 2017 at 03:13:35PM -0600, Ross Zwisler wrote: > > On Thu, Aug 03, 2017 at 09:13:15AM +0900, Minchan Kim wrote: > > > Hi Ross, > > > > > > On Wed, Aug 02, 2017 at 04:13:59PM -0600, Ross Zwisler wrote: > > > > On Fri,

Re: [PATCH 0/3] remove rw_page() from brd, pmem and btt

2017-08-04 Thread Minchan Kim
On Fri, Aug 04, 2017 at 12:54:41PM +0900, Minchan Kim wrote: > On Thu, Aug 03, 2017 at 03:13:35PM -0600, Ross Zwisler wrote: > > On Thu, Aug 03, 2017 at 09:13:15AM +0900, Minchan Kim wrote: > > > Hi Ross, > > > > > > On Wed, Aug 02, 2017 at 04:13:59PM -0600, Ross Zwisler wrote: > > > > On Fri,

Re: [PATCH 0/3] remove rw_page() from brd, pmem and btt

2017-08-03 Thread Minchan Kim
On Thu, Aug 03, 2017 at 03:13:35PM -0600, Ross Zwisler wrote: > On Thu, Aug 03, 2017 at 09:13:15AM +0900, Minchan Kim wrote: > > Hi Ross, > > > > On Wed, Aug 02, 2017 at 04:13:59PM -0600, Ross Zwisler wrote: > > > On Fri, Jul 28, 2017 at 10:31:43AM -0700, Matthew Wilcox wrote: > > > > On Fri, Jul

Re: [PATCH 0/3] remove rw_page() from brd, pmem and btt

2017-08-03 Thread Minchan Kim
On Thu, Aug 03, 2017 at 03:13:35PM -0600, Ross Zwisler wrote: > On Thu, Aug 03, 2017 at 09:13:15AM +0900, Minchan Kim wrote: > > Hi Ross, > > > > On Wed, Aug 02, 2017 at 04:13:59PM -0600, Ross Zwisler wrote: > > > On Fri, Jul 28, 2017 at 10:31:43AM -0700, Matthew Wilcox wrote: > > > > On Fri, Jul

Re: [PATCH 0/3] remove rw_page() from brd, pmem and btt

2017-08-03 Thread Minchan Kim
On Thu, Aug 03, 2017 at 10:05:44AM +0200, Christoph Hellwig wrote: > FYI, for the read side we should use the on-stack bio unconditionally, > as it will always be a win (or not show up at all). Think about readahead. Unconditional on-stack bio to read around pages with faulted address will cause

Re: [PATCH 0/3] remove rw_page() from brd, pmem and btt

2017-08-03 Thread Minchan Kim
On Thu, Aug 03, 2017 at 10:05:44AM +0200, Christoph Hellwig wrote: > FYI, for the read side we should use the on-stack bio unconditionally, > as it will always be a win (or not show up at all). Think about readahead. Unconditional on-stack bio to read around pages with faulted address will cause

Re: [PATCH 0/3] remove rw_page() from brd, pmem and btt

2017-08-03 Thread Jens Axboe
On 08/03/2017 03:13 PM, Ross Zwisler wrote: > On Thu, Aug 03, 2017 at 09:13:15AM +0900, Minchan Kim wrote: >> Hi Ross, >> >> On Wed, Aug 02, 2017 at 04:13:59PM -0600, Ross Zwisler wrote: >>> On Fri, Jul 28, 2017 at 10:31:43AM -0700, Matthew Wilcox wrote: On Fri, Jul 28, 2017 at 10:56:01AM

Re: [PATCH 0/3] remove rw_page() from brd, pmem and btt

2017-08-03 Thread Jens Axboe
On 08/03/2017 03:13 PM, Ross Zwisler wrote: > On Thu, Aug 03, 2017 at 09:13:15AM +0900, Minchan Kim wrote: >> Hi Ross, >> >> On Wed, Aug 02, 2017 at 04:13:59PM -0600, Ross Zwisler wrote: >>> On Fri, Jul 28, 2017 at 10:31:43AM -0700, Matthew Wilcox wrote: On Fri, Jul 28, 2017 at 10:56:01AM

Re: [PATCH 0/3] remove rw_page() from brd, pmem and btt

2017-08-03 Thread Ross Zwisler
On Thu, Aug 03, 2017 at 09:13:15AM +0900, Minchan Kim wrote: > Hi Ross, > > On Wed, Aug 02, 2017 at 04:13:59PM -0600, Ross Zwisler wrote: > > On Fri, Jul 28, 2017 at 10:31:43AM -0700, Matthew Wilcox wrote: > > > On Fri, Jul 28, 2017 at 10:56:01AM -0600, Ross Zwisler wrote: > > > > Dan Williams

Re: [PATCH 0/3] remove rw_page() from brd, pmem and btt

2017-08-03 Thread Ross Zwisler
On Thu, Aug 03, 2017 at 09:13:15AM +0900, Minchan Kim wrote: > Hi Ross, > > On Wed, Aug 02, 2017 at 04:13:59PM -0600, Ross Zwisler wrote: > > On Fri, Jul 28, 2017 at 10:31:43AM -0700, Matthew Wilcox wrote: > > > On Fri, Jul 28, 2017 at 10:56:01AM -0600, Ross Zwisler wrote: > > > > Dan Williams

Re: [PATCH 0/3] remove rw_page() from brd, pmem and btt

2017-08-03 Thread Christoph Hellwig
FYI, for the read side we should use the on-stack bio unconditionally, as it will always be a win (or not show up at all).

Re: [PATCH 0/3] remove rw_page() from brd, pmem and btt

2017-08-03 Thread Christoph Hellwig
FYI, for the read side we should use the on-stack bio unconditionally, as it will always be a win (or not show up at all).

Re: [PATCH 0/3] remove rw_page() from brd, pmem and btt

2017-08-02 Thread Dan Williams
[ adding Tim and Ying who have also been looking at swap optimization and rw_page interactions ] On Wed, Aug 2, 2017 at 5:13 PM, Minchan Kim wrote: > Hi Ross, > > On Wed, Aug 02, 2017 at 04:13:59PM -0600, Ross Zwisler wrote: >> On Fri, Jul 28, 2017 at 10:31:43AM -0700,

Re: [PATCH 0/3] remove rw_page() from brd, pmem and btt

2017-08-02 Thread Dan Williams
[ adding Tim and Ying who have also been looking at swap optimization and rw_page interactions ] On Wed, Aug 2, 2017 at 5:13 PM, Minchan Kim wrote: > Hi Ross, > > On Wed, Aug 02, 2017 at 04:13:59PM -0600, Ross Zwisler wrote: >> On Fri, Jul 28, 2017 at 10:31:43AM -0700, Matthew Wilcox wrote: >> >

Re: [PATCH 0/3] remove rw_page() from brd, pmem and btt

2017-08-02 Thread Minchan Kim
Hi Ross, On Wed, Aug 02, 2017 at 04:13:59PM -0600, Ross Zwisler wrote: > On Fri, Jul 28, 2017 at 10:31:43AM -0700, Matthew Wilcox wrote: > > On Fri, Jul 28, 2017 at 10:56:01AM -0600, Ross Zwisler wrote: > > > Dan Williams and Christoph Hellwig have recently expressed doubt about > > > whether the

Re: [PATCH 0/3] remove rw_page() from brd, pmem and btt

2017-08-02 Thread Minchan Kim
Hi Ross, On Wed, Aug 02, 2017 at 04:13:59PM -0600, Ross Zwisler wrote: > On Fri, Jul 28, 2017 at 10:31:43AM -0700, Matthew Wilcox wrote: > > On Fri, Jul 28, 2017 at 10:56:01AM -0600, Ross Zwisler wrote: > > > Dan Williams and Christoph Hellwig have recently expressed doubt about > > > whether the

Re: [PATCH 0/3] remove rw_page() from brd, pmem and btt

2017-08-02 Thread Ross Zwisler
On Fri, Jul 28, 2017 at 10:31:43AM -0700, Matthew Wilcox wrote: > On Fri, Jul 28, 2017 at 10:56:01AM -0600, Ross Zwisler wrote: > > Dan Williams and Christoph Hellwig have recently expressed doubt about > > whether the rw_page() interface made sense for synchronous memory drivers > > [1][2]. It's

Re: [PATCH 0/3] remove rw_page() from brd, pmem and btt

2017-08-02 Thread Ross Zwisler
On Fri, Jul 28, 2017 at 10:31:43AM -0700, Matthew Wilcox wrote: > On Fri, Jul 28, 2017 at 10:56:01AM -0600, Ross Zwisler wrote: > > Dan Williams and Christoph Hellwig have recently expressed doubt about > > whether the rw_page() interface made sense for synchronous memory drivers > > [1][2]. It's

Re: [PATCH 0/3] remove rw_page() from brd, pmem and btt

2017-08-01 Thread Minchan Kim
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

Re: [PATCH 0/3] remove rw_page() from brd, pmem and btt

2017-08-01 Thread Minchan Kim
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

Re: [PATCH 0/3] remove rw_page() from brd, pmem and btt

2017-07-31 Thread Christoph Hellwig
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

Re: [PATCH 0/3] remove rw_page() from brd, pmem and btt

2017-07-31 Thread Christoph Hellwig
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

Re: [PATCH 0/3] remove rw_page() from brd, pmem and btt

2017-07-31 Thread Christoph Hellwig
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

Re: [PATCH 0/3] remove rw_page() from brd, pmem and btt

2017-07-31 Thread Christoph Hellwig
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

Re: [PATCH 0/3] remove rw_page() from brd, pmem and btt

2017-07-31 Thread Minchan Kim
On Mon, Jul 31, 2017 at 09:17:07AM +0200, Christoph Hellwig wrote: > On Mon, Jul 31, 2017 at 07:16:59AM +0900, Minchan Kim wrote: > > rw_page's gain is reducing of dynamic allocation in swap path > > as well as performance gain thorugh avoiding bio allocation. > > And it would be important in

Re: [PATCH 0/3] remove rw_page() from brd, pmem and btt

2017-07-31 Thread Minchan Kim
On Mon, Jul 31, 2017 at 09:17:07AM +0200, Christoph Hellwig wrote: > On Mon, Jul 31, 2017 at 07:16:59AM +0900, Minchan Kim wrote: > > rw_page's gain is reducing of dynamic allocation in swap path > > as well as performance gain thorugh avoiding bio allocation. > > And it would be important in

Re: [PATCH 0/3] remove rw_page() from brd, pmem and btt

2017-07-31 Thread Christoph Hellwig
On Mon, Jul 31, 2017 at 07:16:59AM +0900, Minchan Kim wrote: > rw_page's gain is reducing of dynamic allocation in swap path > as well as performance gain thorugh avoiding bio allocation. > And it would be important in memory pressure situation. There is no need for any dynamic allocation when

Re: [PATCH 0/3] remove rw_page() from brd, pmem and btt

2017-07-31 Thread Christoph Hellwig
On Mon, Jul 31, 2017 at 07:16:59AM +0900, Minchan Kim wrote: > rw_page's gain is reducing of dynamic allocation in swap path > as well as performance gain thorugh avoiding bio allocation. > And it would be important in memory pressure situation. There is no need for any dynamic allocation when

Re: [PATCH 0/3] remove rw_page() from brd, pmem and btt

2017-07-30 Thread Minchan Kim
On Mon, Jul 31, 2017 at 07:16:59AM +0900, Minchan Kim wrote: > Hi Andrew, > > On Fri, Jul 28, 2017 at 02:21:23PM -0700, Andrew Morton wrote: > > On Fri, 28 Jul 2017 10:31:43 -0700 Matthew Wilcox > > wrote: > > > > > On Fri, Jul 28, 2017 at 10:56:01AM -0600, Ross Zwisler

Re: [PATCH 0/3] remove rw_page() from brd, pmem and btt

2017-07-30 Thread Minchan Kim
On Mon, Jul 31, 2017 at 07:16:59AM +0900, Minchan Kim wrote: > Hi Andrew, > > On Fri, Jul 28, 2017 at 02:21:23PM -0700, Andrew Morton wrote: > > On Fri, 28 Jul 2017 10:31:43 -0700 Matthew Wilcox > > wrote: > > > > > On Fri, Jul 28, 2017 at 10:56:01AM -0600, Ross Zwisler wrote: > > > > Dan

Re: [PATCH 0/3] remove rw_page() from brd, pmem and btt

2017-07-30 Thread Minchan Kim
Hi Andrew, On Fri, Jul 28, 2017 at 02:21:23PM -0700, Andrew Morton wrote: > On Fri, 28 Jul 2017 10:31:43 -0700 Matthew Wilcox wrote: > > > On Fri, Jul 28, 2017 at 10:56:01AM -0600, Ross Zwisler wrote: > > > Dan Williams and Christoph Hellwig have recently expressed doubt

Re: [PATCH 0/3] remove rw_page() from brd, pmem and btt

2017-07-30 Thread Minchan Kim
Hi Andrew, On Fri, Jul 28, 2017 at 02:21:23PM -0700, Andrew Morton wrote: > On Fri, 28 Jul 2017 10:31:43 -0700 Matthew Wilcox wrote: > > > On Fri, Jul 28, 2017 at 10:56:01AM -0600, Ross Zwisler wrote: > > > Dan Williams and Christoph Hellwig have recently expressed doubt about > > > whether the

Re: [PATCH 0/3] remove rw_page() from brd, pmem and btt

2017-07-28 Thread Andrew Morton
On Fri, 28 Jul 2017 10:31:43 -0700 Matthew Wilcox wrote: > On Fri, Jul 28, 2017 at 10:56:01AM -0600, Ross Zwisler wrote: > > Dan Williams and Christoph Hellwig have recently expressed doubt about > > whether the rw_page() interface made sense for synchronous memory drivers >

Re: [PATCH 0/3] remove rw_page() from brd, pmem and btt

2017-07-28 Thread Andrew Morton
On Fri, 28 Jul 2017 10:31:43 -0700 Matthew Wilcox wrote: > On Fri, Jul 28, 2017 at 10:56:01AM -0600, Ross Zwisler wrote: > > Dan Williams and Christoph Hellwig have recently expressed doubt about > > whether the rw_page() interface made sense for synchronous memory drivers > > [1][2]. It's

Re: [PATCH 0/3] remove rw_page() from brd, pmem and btt

2017-07-28 Thread Matthew Wilcox
On Fri, Jul 28, 2017 at 10:56:01AM -0600, Ross Zwisler wrote: > Dan Williams and Christoph Hellwig have recently expressed doubt about > whether the rw_page() interface made sense for synchronous memory drivers > [1][2]. It's unclear whether this interface has any performance benefit > for these

Re: [PATCH 0/3] remove rw_page() from brd, pmem and btt

2017-07-28 Thread Matthew Wilcox
On Fri, Jul 28, 2017 at 10:56:01AM -0600, Ross Zwisler wrote: > Dan Williams and Christoph Hellwig have recently expressed doubt about > whether the rw_page() interface made sense for synchronous memory drivers > [1][2]. It's unclear whether this interface has any performance benefit > for these

[PATCH 0/3] remove rw_page() from brd, pmem and btt

2017-07-28 Thread Ross Zwisler
Dan Williams and Christoph Hellwig have recently expressed doubt about whether the rw_page() interface made sense for synchronous memory drivers [1][2]. It's unclear whether this interface has any performance benefit for these drivers, but as we continue to fix bugs it is clear that it does have

[PATCH 0/3] remove rw_page() from brd, pmem and btt

2017-07-28 Thread Ross Zwisler
Dan Williams and Christoph Hellwig have recently expressed doubt about whether the rw_page() interface made sense for synchronous memory drivers [1][2]. It's unclear whether this interface has any performance benefit for these drivers, but as we continue to fix bugs it is clear that it does have