Re: [patch 4/4] dm-writecache: use new API for flushing

2018-06-03 Thread Mikulas Patocka
On Wed, 30 May 2018, Mike Snitzer wrote: > On Wed, May 30 2018 at 10:46P -0400, > Mikulas Patocka wrote: > > > > > > > On Wed, 30 May 2018, Mike Snitzer wrote: > > > > > > > Fine I'll deal with it. reordering the fields eliminated holes in the > > > > > structure and reduced struct

Re: [patch 4/4] dm-writecache: use new API for flushing

2018-05-31 Thread Dan Williams
On Thu, May 31, 2018 at 8:31 AM, Mikulas Patocka wrote: > > > On Thu, 31 May 2018, Dan Williams wrote: > >> On Thu, May 31, 2018 at 1:19 AM, Mikulas Patocka wrote: >> > >> > >> > On Wed, 30 May 2018, Dan Williams wrote: >> > >> >> > Great find! Thanks for the due diligence. Feel free to add: >>

Re: [patch 4/4] dm-writecache: use new API for flushing

2018-05-31 Thread Mikulas Patocka
On Thu, 31 May 2018, Dan Williams wrote: > On Thu, May 31, 2018 at 1:19 AM, Mikulas Patocka wrote: > > > > > > On Wed, 30 May 2018, Dan Williams wrote: > > > >> > Great find! Thanks for the due diligence. Feel free to add: > >> > > >> > Acked-by: Dan Williams > >> > > >> > ...on the

Re: [patch 4/4] dm-writecache: use new API for flushing

2018-05-31 Thread Dan Williams
On Thu, May 31, 2018 at 1:19 AM, Mikulas Patocka wrote: > > > On Wed, 30 May 2018, Dan Williams wrote: > >> > Great find! Thanks for the due diligence. Feel free to add: >> > >> > Acked-by: Dan Williams >> > >> > ...on the reworks to unify ARM and x86. >> >> One more note. The side effect of

Re: [patch 4/4] dm-writecache: use new API for flushing

2018-05-31 Thread Mike Snitzer
On Thu, May 31 2018 at 4:16am -0400, Mikulas Patocka wrote: > > > On Wed, 30 May 2018, Mike Snitzer wrote: > > > On Wed, May 30 2018 at 10:09P -0400, > > Mikulas Patocka wrote: > > > > > And what about this? > > > #define WC_MODE_PMEM(wc)((wc)->pmem_mode) > > > >

Re: [patch 4/4] dm-writecache: use new API for flushing

2018-05-31 Thread Mikulas Patocka
On Wed, 30 May 2018, Dan Williams wrote: > > Great find! Thanks for the due diligence. Feel free to add: > > > > Acked-by: Dan Williams > > > > ...on the reworks to unify ARM and x86. > > One more note. The side effect of not using dax_flush() is that you > may end up flushing caches on

Re: [patch 4/4] dm-writecache: use new API for flushing

2018-05-31 Thread Mikulas Patocka
On Wed, 30 May 2018, Mike Snitzer wrote: > On Wed, May 30 2018 at 10:09P -0400, > Mikulas Patocka wrote: > > > And what about this? > > #define WC_MODE_PMEM(wc)((wc)->pmem_mode) > > > > The code that I had just allowed the compiler to optimize out > >

Re: [patch 4/4] dm-writecache: use new API for flushing

2018-05-30 Thread Mike Snitzer
On Wed, May 30 2018 at 10:46P -0400, Mikulas Patocka wrote: > > > On Wed, 30 May 2018, Mike Snitzer wrote: > > > > > Fine I'll deal with it. reordering the fields eliminated holes in the > > > > structure and reduced struct members spanning cache lines. > > > > > > And what about this? > >

Re: [patch 4/4] dm-writecache: use new API for flushing

2018-05-30 Thread Mike Snitzer
On Wed, May 30 2018 at 10:09P -0400, Mikulas Patocka wrote: > And what about this? > #define WC_MODE_PMEM(wc)((wc)->pmem_mode) > > The code that I had just allowed the compiler to optimize out > persistent-memory code if we have DM_WRITECACHE_ONLY_SSD defined - and you

Re: [patch 4/4] dm-writecache: use new API for flushing

2018-05-30 Thread Dan Williams
On Wed, May 30, 2018 at 8:58 AM, Dan Williams wrote: > On Wed, May 30, 2018 at 6:07 AM, Mikulas Patocka wrote: >> >> >> On Mon, 28 May 2018, Dan Williams wrote: >> >>> On Mon, May 28, 2018 at 6:32 AM, Mikulas Patocka >>> wrote: >>> > >>> > >>> > On Sat, 26 May 2018, Dan Williams wrote: >>> >

Re: [patch 4/4] dm-writecache: use new API for flushing

2018-05-30 Thread Dan Williams
On Wed, May 30, 2018 at 6:07 AM, Mikulas Patocka wrote: > > > On Mon, 28 May 2018, Dan Williams wrote: > >> On Mon, May 28, 2018 at 6:32 AM, Mikulas Patocka wrote: >> > >> > >> > On Sat, 26 May 2018, Dan Williams wrote: >> > >> >> On Sat, May 26, 2018 at 12:02 AM, Mikulas Patocka >> >> wrote:

Re: [patch 4/4] dm-writecache: use new API for flushing

2018-05-30 Thread Mikulas Patocka
On Wed, 30 May 2018, Mike Snitzer wrote: > On Wed, May 30 2018 at 10:09am -0400, > Mikulas Patocka wrote: > > > > > > > On Wed, 30 May 2018, Mike Snitzer wrote: > > > > > On Wed, May 30 2018 at 9:33am -0400, > > > Mikulas Patocka wrote: > > > > > > > > > > > > > > > On Wed, 30 May

Re: [patch 4/4] dm-writecache: use new API for flushing

2018-05-30 Thread Mike Snitzer
On Wed, May 30 2018 at 10:09am -0400, Mikulas Patocka wrote: > > > On Wed, 30 May 2018, Mike Snitzer wrote: > > > On Wed, May 30 2018 at 9:33am -0400, > > Mikulas Patocka wrote: > > > > > > > > > > > On Wed, 30 May 2018, Mike Snitzer wrote: > > > > > > > On Wed, May 30 2018 at 9:21am

Re: [patch 4/4] dm-writecache: use new API for flushing

2018-05-30 Thread Mikulas Patocka
On Wed, 30 May 2018, Mike Snitzer wrote: > On Wed, May 30 2018 at 9:33am -0400, > Mikulas Patocka wrote: > > > > > > > On Wed, 30 May 2018, Mike Snitzer wrote: > > > > > On Wed, May 30 2018 at 9:21am -0400, > > > Mikulas Patocka wrote: > > > > > > > > > > > > > > > On Wed, 30 May

Re: [patch 4/4] dm-writecache: use new API for flushing

2018-05-30 Thread Mike Snitzer
On Wed, May 30 2018 at 9:33am -0400, Mikulas Patocka wrote: > > > On Wed, 30 May 2018, Mike Snitzer wrote: > > > On Wed, May 30 2018 at 9:21am -0400, > > Mikulas Patocka wrote: > > > > > > > > > > > On Wed, 30 May 2018, Mike Snitzer wrote: > > > > > > > That is really great news, can

Re: [dm-devel] [patch 4/4] dm-writecache: use new API for flushing

2018-05-30 Thread Jeff Moyer
Jeff Moyer writes: > Dan Williams writes: > >> When I read your patch I came away with the impression that ARM had >> not added memcpy_flushcache() yet and you were working around that >> fact. Now that I look, ARM *does* define memcpy_flushcache() and >> you're avoiding it. You use

Re: [dm-devel] [patch 4/4] dm-writecache: use new API for flushing

2018-05-30 Thread Mikulas Patocka
On Wed, 30 May 2018, Jeff Moyer wrote: > Dan Williams writes: > > > When I read your patch I came away with the impression that ARM had > > not added memcpy_flushcache() yet and you were working around that > > fact. Now that I look, ARM *does* define memcpy_flushcache() and > > you're

Re: [dm-devel] [patch 4/4] dm-writecache: use new API for flushing

2018-05-30 Thread Jeff Moyer
Dan Williams writes: > When I read your patch I came away with the impression that ARM had > not added memcpy_flushcache() yet and you were working around that > fact. Now that I look, ARM *does* define memcpy_flushcache() and > you're avoiding it. You use memcpy+arch_wb_pmem where arch_wb_pmem

Re: [patch 4/4] dm-writecache: use new API for flushing

2018-05-30 Thread Mikulas Patocka
On Wed, 30 May 2018, Mike Snitzer wrote: > On Wed, May 30 2018 at 9:21am -0400, > Mikulas Patocka wrote: > > > > > > > On Wed, 30 May 2018, Mike Snitzer wrote: > > > > > That is really great news, can you submit an incremental patch that > > > layers ontop of the linux-dm.git 'dm-4.18'

Re: [patch 4/4] dm-writecache: use new API for flushing

2018-05-30 Thread Mike Snitzer
On Wed, May 30 2018 at 9:21am -0400, Mikulas Patocka wrote: > > > On Wed, 30 May 2018, Mike Snitzer wrote: > > > That is really great news, can you submit an incremental patch that > > layers ontop of the linux-dm.git 'dm-4.18' branch? > > > > Thanks, > > Mike > > I've sent the current

Re: [patch 4/4] dm-writecache: use new API for flushing

2018-05-30 Thread Mikulas Patocka
On Wed, 30 May 2018, Mike Snitzer wrote: > That is really great news, can you submit an incremental patch that > layers ontop of the linux-dm.git 'dm-4.18' branch? > > Thanks, > Mike I've sent the current version that I have. I fixed the bugs that were reported here (missing DAX,

Re: [patch 4/4] dm-writecache: use new API for flushing

2018-05-30 Thread Mike Snitzer
On Wed, May 30 2018 at 9:07am -0400, Mikulas Patocka wrote: > > > On Mon, 28 May 2018, Dan Williams wrote: > > > On Mon, May 28, 2018 at 6:32 AM, Mikulas Patocka > > wrote: > > > > > > I measured it (with nvme backing store) and late cache flushing has 12% > > > better performance than

Re: [patch 4/4] dm-writecache: use new API for flushing

2018-05-30 Thread Mikulas Patocka
On Mon, 28 May 2018, Dan Williams wrote: > On Mon, May 28, 2018 at 6:32 AM, Mikulas Patocka wrote: > > > > > > On Sat, 26 May 2018, Dan Williams wrote: > > > >> On Sat, May 26, 2018 at 12:02 AM, Mikulas Patocka > >> wrote: > >> > > >> > > >> > On Fri, 25 May 2018, Dan Williams wrote: > >> >

Re: [patch 4/4] dm-writecache: use new API for flushing

2018-05-28 Thread Dan Williams
On Mon, May 28, 2018 at 6:32 AM, Mikulas Patocka wrote: > > > On Sat, 26 May 2018, Dan Williams wrote: > >> On Sat, May 26, 2018 at 12:02 AM, Mikulas Patocka >> wrote: >> > >> > >> > On Fri, 25 May 2018, Dan Williams wrote: >> > >> >> On Fri, May 25, 2018 at 5:51 AM, Mike Snitzer wrote: >> >>

Re: [patch 4/4] dm-writecache: use new API for flushing

2018-05-28 Thread Dan Williams
On Mon, May 28, 2018 at 6:52 AM, Mikulas Patocka wrote: > > > On Tue, 22 May 2018, Dan Williams wrote: > >> >> Except I'm being responsive. >> > >> > Except you're looking to immediately punt to linux-arm-kernel ;) >> >> Well, I'm not, not really. I'm saying drop ARM support, it's not ready. > >

Re: [patch 4/4] dm-writecache: use new API for flushing

2018-05-28 Thread Mikulas Patocka
On Tue, 22 May 2018, Dan Williams wrote: > >> Except I'm being responsive. > > > > Except you're looking to immediately punt to linux-arm-kernel ;) > > Well, I'm not, not really. I'm saying drop ARM support, it's not ready. This is the worst thing to do - because once late cache flushing is

Re: [patch 4/4] dm-writecache: use new API for flushing

2018-05-28 Thread Mikulas Patocka
On Sat, 26 May 2018, Dan Williams wrote: > On Sat, May 26, 2018 at 12:02 AM, Mikulas Patocka wrote: > > > > > > On Fri, 25 May 2018, Dan Williams wrote: > > > >> On Fri, May 25, 2018 at 5:51 AM, Mike Snitzer wrote: > >> > On Fri, May 25 2018 at 2:17am

Re: [patch 4/4] dm-writecache: use new API for flushing

2018-05-26 Thread Dan Williams
On Sat, May 26, 2018 at 12:02 AM, Mikulas Patocka wrote: > > > On Fri, 25 May 2018, Dan Williams wrote: > >> On Fri, May 25, 2018 at 5:51 AM, Mike Snitzer wrote: >> > On Fri, May 25 2018 at 2:17am -0400, >> > Mikulas Patocka wrote:

Re: [patch 4/4] dm-writecache: use new API for flushing

2018-05-26 Thread Mikulas Patocka
On Fri, 25 May 2018, Dan Williams wrote: > On Fri, May 25, 2018 at 5:51 AM, Mike Snitzer wrote: > > On Fri, May 25 2018 at 2:17am -0400, > > Mikulas Patocka wrote: > > > >> On Thu, 24 May 2018, Dan Williams wrote: > >> > >> > I don't want to grow

Re: [patch 4/4] dm-writecache: use new API for flushing

2018-05-25 Thread Dan Williams
On Fri, May 25, 2018 at 5:51 AM, Mike Snitzer wrote: > On Fri, May 25 2018 at 2:17am -0400, > Mikulas Patocka wrote: > >> >> >> On Thu, 24 May 2018, Dan Williams wrote: >> >> > On Fri, May 18, 2018 at 10:25 PM, Mikulas Patocka >> >

Re: [patch 4/4] dm-writecache: use new API for flushing

2018-05-25 Thread Mike Snitzer
On Fri, May 25 2018 at 2:17am -0400, Mikulas Patocka wrote: > > > On Thu, 24 May 2018, Dan Williams wrote: > > > On Fri, May 18, 2018 at 10:25 PM, Mikulas Patocka > > wrote: > > > Use new API for flushing persistent memory. > > > > > > The problem

Re: [patch 4/4] dm-writecache: use new API for flushing

2018-05-24 Thread Mikulas Patocka
On Tue, 22 May 2018, Dan Williams wrote: > On Tue, May 22, 2018 at 11:41 AM, Mike Snitzer wrote: > > On Tue, May 22 2018 at 2:39am -0400, > > Christoph Hellwig wrote: > > > >> On Sat, May 19, 2018 at 07:25:07AM +0200, Mikulas Patocka wrote: > >> > Use

Re: [dm-devel] [patch 4/4] dm-writecache: use new API for flushing

2018-05-23 Thread Mikulas Patocka
On Tue, 22 May 2018, Jeff Moyer wrote: > Hi, Mike, > > Mike Snitzer writes: > > > Looking at Mikulas' wrapper API that you and hch are calling into > > question: > > > > For ARM it is using arch/arm64/mm/flush.c:arch_wb_cache_pmem(). > > (And ARM does seem to be providing

Re: [dm-devel] [patch 4/4] dm-writecache: use new API for flushing

2018-05-22 Thread Jeff Moyer
Hi, Mike, Mike Snitzer writes: > Looking at Mikulas' wrapper API that you and hch are calling into > question: > > For ARM it is using arch/arm64/mm/flush.c:arch_wb_cache_pmem(). > (And ARM does seem to be providing CONFIG_ARCH_HAS_PMEM_API.) > > Whereas x86_64 is using

Re: [patch 4/4] dm-writecache: use new API for flushing

2018-05-22 Thread Mike Snitzer
On Tue, May 22 2018 at 3:27pm -0400, Dan Williams wrote: > On Tue, May 22, 2018 at 12:19 PM, Mike Snitzer wrote: > > On Tue, May 22 2018 at 3:00pm -0400, > > Dan Williams wrote: > > > >> On Tue, May 22, 2018 at 11:41 AM,

Re: [patch 4/4] dm-writecache: use new API for flushing

2018-05-22 Thread Dan Williams
On Tue, May 22, 2018 at 12:19 PM, Mike Snitzer wrote: > On Tue, May 22 2018 at 3:00pm -0400, > Dan Williams wrote: > >> On Tue, May 22, 2018 at 11:41 AM, Mike Snitzer wrote: >> > On Tue, May 22 2018 at 2:39am -0400, >> >

Re: [patch 4/4] dm-writecache: use new API for flushing

2018-05-22 Thread Mike Snitzer
On Tue, May 22 2018 at 3:00pm -0400, Dan Williams wrote: > On Tue, May 22, 2018 at 11:41 AM, Mike Snitzer wrote: > > On Tue, May 22 2018 at 2:39am -0400, > > Christoph Hellwig wrote: > > > >> On Sat, May 19, 2018 at 07:25:07AM

Re: [patch 4/4] dm-writecache: use new API for flushing

2018-05-22 Thread Dan Williams
On Tue, May 22, 2018 at 11:41 AM, Mike Snitzer wrote: > On Tue, May 22 2018 at 2:39am -0400, > Christoph Hellwig wrote: > >> On Sat, May 19, 2018 at 07:25:07AM +0200, Mikulas Patocka wrote: >> > Use new API for flushing persistent memory. >> >> The

Re: [patch 4/4] dm-writecache: use new API for flushing

2018-05-22 Thread Mike Snitzer
On Tue, May 22 2018 at 2:39am -0400, Christoph Hellwig wrote: > On Sat, May 19, 2018 at 07:25:07AM +0200, Mikulas Patocka wrote: > > Use new API for flushing persistent memory. > > The sentence doesnt make much sense. 'A new API', 'A better > abstraction' maybe? > > > >

Re: [dm-devel] [patch 4/4] dm-writecache: use new API for flushing

2018-05-22 Thread Christoph Hellwig
On Sat, May 19, 2018 at 07:25:07AM +0200, Mikulas Patocka wrote: > Use new API for flushing persistent memory. The sentence doesnt make much sense. 'A new API', 'A better abstraction' maybe? > > The problem is this: > * on X86-64, non-temporal stores have the best performance > * ARM64 doesn't