Re: [RFC 00/11] DAX fsynx/msync support

2015-11-05 Thread Jens Axboe
On 11/05/2015 01:33 AM, Dave Chinner wrote: Des xfs rely on this model for correctness? If so, I'd say we've got a problem No, it doesn't. The XFS integrity model doesn't trust the IO layers to tell the truth about IO ordering and completion or for it's developers to fully understand how IO la

Re: [RFC 00/11] DAX fsynx/msync support

2015-11-05 Thread Jeff Moyer
Dave Chinner writes: >> But this part is not. It is up to the I/O scheduler to decide when to >> dispatch requests. It can hold on to them for a variety of reasons. >> Flush requests, however, do not go through the I/O scheduler. At the > > That's pure REQ_FLUSH bios, right? Aren't data IOs wi

Re: [RFC 00/11] DAX fsynx/msync support

2015-11-05 Thread Dave Chinner
[ sorry for slow response, been without an internet connection for ~36 hours ] On Mon, Nov 02, 2015 at 04:02:48PM -0500, Jeff Moyer wrote: > Dave Chinner writes: > > > On Mon, Nov 02, 2015 at 09:22:15AM -0500, Jeff Moyer wrote: > >> Dave Chinner writes: > >> > >> > Further, REQ_FLUSH/REQ_FUA a

Re: [RFC 00/11] DAX fsynx/msync support

2015-11-04 Thread Jeff Moyer
Jeff Moyer writes: >> Hence once the filesystem has waited on the REQ_WRITE|REQ_FLUSH IO >> to complete, we know that all the earlier REQ_WRITE IOs are on >> stable storage, too. Hence there's no need for the elevator to drain >> the queue to guarantee completion ordering - the dispatch ordering

Re: [RFC 00/11] DAX fsynx/msync support

2015-11-02 Thread Jeff Moyer
Dave Chinner writes: > On Mon, Nov 02, 2015 at 09:22:15AM -0500, Jeff Moyer wrote: >> Dave Chinner writes: >> >> > Further, REQ_FLUSH/REQ_FUA are more than just "put the data on stable >> > storage" commands. They are also IO barriers that affect scheduling >> > of IOs in progress and in the re

Re: [RFC 00/11] DAX fsynx/msync support

2015-11-02 Thread Dave Chinner
On Mon, Nov 02, 2015 at 09:22:15AM -0500, Jeff Moyer wrote: > Dave Chinner writes: > > > Further, REQ_FLUSH/REQ_FUA are more than just "put the data on stable > > storage" commands. They are also IO barriers that affect scheduling > > of IOs in progress and in the request queues. A REQ_FLUSH/REQ

Re: [RFC 00/11] DAX fsynx/msync support

2015-11-02 Thread Jeff Moyer
Dave Chinner writes: > Further, REQ_FLUSH/REQ_FUA are more than just "put the data on stable > storage" commands. They are also IO barriers that affect scheduling > of IOs in progress and in the request queues. A REQ_FLUSH/REQ_FUA > IO cannot be dispatched before all prior IO has been dispatched

Re: [RFC 00/11] DAX fsynx/msync support

2015-11-01 Thread Dave Chinner
On Fri, Oct 30, 2015 at 12:51:40PM -0700, Dan Williams wrote: > On Fri, Oct 30, 2015 at 12:43 PM, Ross Zwisler > wrote: > > On Fri, Oct 30, 2015 at 11:34:07AM -0700, Dan Williams wrote: > >> This is great to have when the flush-the-world solution ends up > >> killing performance. However, there a

Re: [RFC 00/11] DAX fsynx/msync support

2015-11-01 Thread Dave Chinner
On Fri, Oct 30, 2015 at 12:39:38PM -0600, Ross Zwisler wrote: > On Fri, Oct 30, 2015 at 02:55:33PM +1100, Dave Chinner wrote: > > On Thu, Oct 29, 2015 at 02:12:04PM -0600, Ross Zwisler wrote: > > > This patch series adds support for fsync/msync to DAX. > > > > > > Patches 1 through 8 add various u

Re: [RFC 00/11] DAX fsynx/msync support

2015-10-30 Thread Dan Williams
On Fri, Oct 30, 2015 at 12:43 PM, Ross Zwisler wrote: > On Fri, Oct 30, 2015 at 11:34:07AM -0700, Dan Williams wrote: >> On Thu, Oct 29, 2015 at 1:12 PM, Ross Zwisler >> wrote: >> > This patch series adds support for fsync/msync to DAX. >> > >> > Patches 1 through 8 add various utilities that the

Re: [RFC 00/11] DAX fsynx/msync support

2015-10-30 Thread Ross Zwisler
On Fri, Oct 30, 2015 at 11:34:07AM -0700, Dan Williams wrote: > On Thu, Oct 29, 2015 at 1:12 PM, Ross Zwisler > wrote: > > This patch series adds support for fsync/msync to DAX. > > > > Patches 1 through 8 add various utilities that the DAX code will eventually > > need, and the DAX code itself is

Re: [RFC 00/11] DAX fsynx/msync support

2015-10-30 Thread Ross Zwisler
On Fri, Oct 30, 2015 at 02:55:33PM +1100, Dave Chinner wrote: > On Thu, Oct 29, 2015 at 02:12:04PM -0600, Ross Zwisler wrote: > > This patch series adds support for fsync/msync to DAX. > > > > Patches 1 through 8 add various utilities that the DAX code will eventually > > need, and the DAX code it

Re: [RFC 00/11] DAX fsynx/msync support

2015-10-30 Thread Dan Williams
On Thu, Oct 29, 2015 at 1:12 PM, Ross Zwisler wrote: > This patch series adds support for fsync/msync to DAX. > > Patches 1 through 8 add various utilities that the DAX code will eventually > need, and the DAX code itself is added by patch 9. Patches 10 and 11 are > filesystem changes that are ne

Re: [RFC 00/11] DAX fsynx/msync support

2015-10-29 Thread Dave Chinner
On Thu, Oct 29, 2015 at 02:12:04PM -0600, Ross Zwisler wrote: > This patch series adds support for fsync/msync to DAX. > > Patches 1 through 8 add various utilities that the DAX code will eventually > need, and the DAX code itself is added by patch 9. Patches 10 and 11 are > filesystem changes th

Re: [RFC 00/11] DAX fsynx/msync support

2015-10-29 Thread Ross Zwisler
On Thu, Oct 29, 2015 at 02:12:04PM -0600, Ross Zwisler wrote: > This patch series adds support for fsync/msync to DAX. > > Patches 1 through 8 add various utilities that the DAX code will eventually > need, and the DAX code itself is added by patch 9. Patches 10 and 11 are > filesystem changes th

[RFC 00/11] DAX fsynx/msync support

2015-10-29 Thread Ross Zwisler
This patch series adds support for fsync/msync to DAX. Patches 1 through 8 add various utilities that the DAX code will eventually need, and the DAX code itself is added by patch 9. Patches 10 and 11 are filesystem changes that are needed after the DAX code is added, but these patches may change