xfs
[Top] [All Lists]

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

To: Dave Chinner <david@xxxxxxxxxxxxx>
Subject: Re: [RFC 00/11] DAX fsynx/msync support
From: Jeff Moyer <jmoyer@xxxxxxxxxx>
Date: Thu, 05 Nov 2015 14:49:21 -0500
Cc: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx>, linux-kernel@xxxxxxxxxxxxxxx, "H. Peter Anvin" <hpa@xxxxxxxxx>, "J. Bruce Fields" <bfields@xxxxxxxxxxxx>, "Theodore Ts'o" <tytso@xxxxxxx>, Alexander Viro <viro@xxxxxxxxxxxxxxxxxx>, Andreas Dilger <adilger.kernel@xxxxxxxxx>, Dan Williams <dan.j.williams@xxxxxxxxx>, Ingo Molnar <mingo@xxxxxxxxxx>, Jan Kara <jack@xxxxxxxx>, Jeff Layton <jlayton@xxxxxxxxxxxxxxx>, Matthew Wilcox <willy@xxxxxxxxxxxxxxx>, Thomas Gleixner <tglx@xxxxxxxxxxxxx>, linux-ext4@xxxxxxxxxxxxxxx, linux-fsdevel@xxxxxxxxxxxxxxx, linux-mm@xxxxxxxxx, linux-nvdimm@xxxxxxxxxxx, x86@xxxxxxxxxx, xfs@xxxxxxxxxxx, Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>, Matthew Wilcox <matthew.r.wilcox@xxxxxxxxx>, axboe@xxxxxxxxx
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <20151105083309.GJ19199@dastard> (Dave Chinner's message of "Thu, 5 Nov 2015 19:33:09 +1100")
References: <1446149535-16200-1-git-send-email-ross.zwisler@xxxxxxxxxxxxxxx> <20151030035533.GU19199@dastard> <20151030183938.GC24643@xxxxxxxxxxxxxxx> <20151101232948.GF10656@dastard> <x49vb9kqy5k.fsf@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> <20151102201029.GI10656@dastard> <x49twp4p11j.fsf@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> <20151105083309.GJ19199@dastard>
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux)
Dave Chinner <david@xxxxxxxxxxxxx> 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 with
> REQ_FLUSH|REQ_FUA sorted like any other IO?

No, they also go through the flush machinery, and so short-circuit the
I/O scheduler.

>> 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 layer ordering works. :P
>
> i.e. we wait for full completions of all dependent IO before issuing
> flushes or log writes that use REQ_FLUSH|REQ_FUA semantics to ensure
> the dependent IOs are fully caught by the cache flushes...

OK, phew!  ;-)

-Jeff

<Prev in Thread] Current Thread [Next in Thread>