Re: [PATCH v2 03/11] pmem: enable REQ_FUA/REQ_FLUSH handling

2015-11-18 Thread Ross Zwisler
On Wed, Nov 18, 2015 at 11:40:55AM +0100, Jan Kara wrote: > On Mon 16-11-15 13:09:50, Ross Zwisler wrote: > > On Fri, Nov 13, 2015 at 06:32:40PM -0800, Dan Williams wrote: > > > On Fri, Nov 13, 2015 at 4:43 PM, Andreas Dilger wrote: > > > > On Nov 13, 2015, at 5:20 PM, Dan Williams > > > > wrote

Re: [PATCH v2 03/11] pmem: enable REQ_FUA/REQ_FLUSH handling

2015-11-18 Thread Jan Kara
On Mon 16-11-15 13:09:50, Ross Zwisler wrote: > On Fri, Nov 13, 2015 at 06:32:40PM -0800, Dan Williams wrote: > > On Fri, Nov 13, 2015 at 4:43 PM, Andreas Dilger wrote: > > > On Nov 13, 2015, at 5:20 PM, Dan Williams > > > wrote: > > >> > > >> On Fri, Nov 13, 2015 at 4:06 PM, Ross Zwisler > > >>

Re: [PATCH v2 03/11] pmem: enable REQ_FUA/REQ_FLUSH handling

2015-11-16 Thread Ross Zwisler
On Mon, Nov 16, 2015 at 12:34:55PM -0800, Dan Williams wrote: > On Mon, Nov 16, 2015 at 11:48 AM, Ross Zwisler > wrote: > > On Mon, Nov 16, 2015 at 09:28:59AM -0800, Dan Williams wrote: > >> On Mon, Nov 16, 2015 at 6:05 AM, Jan Kara wrote: > >> > On Mon 16-11-15 14:37:14, Jan Kara wrote: > [..] >

Re: [PATCH v2 03/11] pmem: enable REQ_FUA/REQ_FLUSH handling

2015-11-16 Thread Dave Chinner
On Mon, Nov 16, 2015 at 04:29:27PM -0700, Ross Zwisler wrote: > On Tue, Nov 17, 2015 at 09:14:12AM +1100, Dave Chinner wrote: > > On Mon, Nov 16, 2015 at 03:05:26PM +0100, Jan Kara wrote: > > > On Mon 16-11-15 14:37:14, Jan Kara wrote: > > > > On Fri 13-11-15 18:32:40, Dan Williams wrote: > > > > >

Re: [PATCH v2 03/11] pmem: enable REQ_FUA/REQ_FLUSH handling

2015-11-16 Thread Ross Zwisler
On Tue, Nov 17, 2015 at 09:14:12AM +1100, Dave Chinner wrote: > On Mon, Nov 16, 2015 at 03:05:26PM +0100, Jan Kara wrote: > > On Mon 16-11-15 14:37:14, Jan Kara wrote: > > > On Fri 13-11-15 18:32:40, Dan Williams wrote: > > > > On Fri, Nov 13, 2015 at 4:43 PM, Andreas Dilger > > > > wrote: > > >

Re: [PATCH v2 03/11] pmem: enable REQ_FUA/REQ_FLUSH handling

2015-11-16 Thread Dave Chinner
On Mon, Nov 16, 2015 at 03:05:26PM +0100, Jan Kara wrote: > On Mon 16-11-15 14:37:14, Jan Kara wrote: > > On Fri 13-11-15 18:32:40, Dan Williams wrote: > > > On Fri, Nov 13, 2015 at 4:43 PM, Andreas Dilger wrote: > > > > On Nov 13, 2015, at 5:20 PM, Dan Williams > > > > wrote: > > > >> > > > >>

Re: [PATCH v2 03/11] pmem: enable REQ_FUA/REQ_FLUSH handling

2015-11-16 Thread Dan Williams
On Mon, Nov 16, 2015 at 11:48 AM, Ross Zwisler wrote: > On Mon, Nov 16, 2015 at 09:28:59AM -0800, Dan Williams wrote: >> On Mon, Nov 16, 2015 at 6:05 AM, Jan Kara wrote: >> > On Mon 16-11-15 14:37:14, Jan Kara wrote: [..] > Is there any reason why this wouldn't work or wouldn't be a good idea? W

Re: [PATCH v2 03/11] pmem: enable REQ_FUA/REQ_FLUSH handling

2015-11-16 Thread Ross Zwisler
On Fri, Nov 13, 2015 at 06:32:40PM -0800, Dan Williams wrote: > On Fri, Nov 13, 2015 at 4:43 PM, Andreas Dilger wrote: > > On Nov 13, 2015, at 5:20 PM, Dan Williams wrote: > >> > >> On Fri, Nov 13, 2015 at 4:06 PM, Ross Zwisler > >> wrote: > >>> Currently the PMEM driver doesn't accept REQ_FLUSH

Re: [PATCH v2 03/11] pmem: enable REQ_FUA/REQ_FLUSH handling

2015-11-16 Thread Ross Zwisler
On Mon, Nov 16, 2015 at 09:28:59AM -0800, Dan Williams wrote: > On Mon, Nov 16, 2015 at 6:05 AM, Jan Kara wrote: > > On Mon 16-11-15 14:37:14, Jan Kara wrote: > [..] > > But a question: Won't it be better to do sfence + pcommit only in response > > to REQ_FLUSH request and don't do it after each w

Re: [PATCH v2 03/11] pmem: enable REQ_FUA/REQ_FLUSH handling

2015-11-16 Thread Dan Williams
On Mon, Nov 16, 2015 at 6:05 AM, Jan Kara wrote: > On Mon 16-11-15 14:37:14, Jan Kara wrote: [..] > But a question: Won't it be better to do sfence + pcommit only in response > to REQ_FLUSH request and don't do it after each write? I'm not sure how > expensive these instructions are but in theory

Re: [PATCH v2 03/11] pmem: enable REQ_FUA/REQ_FLUSH handling

2015-11-16 Thread Jan Kara
On Mon 16-11-15 14:37:14, Jan Kara wrote: > On Fri 13-11-15 18:32:40, Dan Williams wrote: > > On Fri, Nov 13, 2015 at 4:43 PM, Andreas Dilger wrote: > > > On Nov 13, 2015, at 5:20 PM, Dan Williams > > > wrote: > > >> > > >> On Fri, Nov 13, 2015 at 4:06 PM, Ross Zwisler > > >> wrote: > > >>> Cur

Re: [PATCH v2 03/11] pmem: enable REQ_FUA/REQ_FLUSH handling

2015-11-16 Thread Jan Kara
On Fri 13-11-15 18:32:40, Dan Williams wrote: > On Fri, Nov 13, 2015 at 4:43 PM, Andreas Dilger wrote: > > On Nov 13, 2015, at 5:20 PM, Dan Williams wrote: > >> > >> On Fri, Nov 13, 2015 at 4:06 PM, Ross Zwisler > >> wrote: > >>> Currently the PMEM driver doesn't accept REQ_FLUSH or REQ_FUA bios

Re: [PATCH v2 03/11] pmem: enable REQ_FUA/REQ_FLUSH handling

2015-11-13 Thread Dan Williams
On Fri, Nov 13, 2015 at 4:43 PM, Andreas Dilger wrote: > On Nov 13, 2015, at 5:20 PM, Dan Williams wrote: >> >> On Fri, Nov 13, 2015 at 4:06 PM, Ross Zwisler >> wrote: >>> Currently the PMEM driver doesn't accept REQ_FLUSH or REQ_FUA bios. These >>> are sent down via blkdev_issue_flush() in res

Re: [PATCH v2 03/11] pmem: enable REQ_FUA/REQ_FLUSH handling

2015-11-13 Thread Andreas Dilger
On Nov 13, 2015, at 5:20 PM, Dan Williams wrote: > > On Fri, Nov 13, 2015 at 4:06 PM, Ross Zwisler > wrote: >> Currently the PMEM driver doesn't accept REQ_FLUSH or REQ_FUA bios. These >> are sent down via blkdev_issue_flush() in response to a fsync() or msync() >> and are used by filesystems t

Re: [PATCH v2 03/11] pmem: enable REQ_FUA/REQ_FLUSH handling

2015-11-13 Thread Dan Williams
On Fri, Nov 13, 2015 at 4:06 PM, Ross Zwisler wrote: > Currently the PMEM driver doesn't accept REQ_FLUSH or REQ_FUA bios. These > are sent down via blkdev_issue_flush() in response to a fsync() or msync() > and are used by filesystems to order their metadata, among other things. > > When we get

[PATCH v2 03/11] pmem: enable REQ_FUA/REQ_FLUSH handling

2015-11-13 Thread Ross Zwisler
Currently the PMEM driver doesn't accept REQ_FLUSH or REQ_FUA bios. These are sent down via blkdev_issue_flush() in response to a fsync() or msync() and are used by filesystems to order their metadata, among other things. When we get an msync() or fsync() it is the responsibility of the DAX code