Re: [RFC PATCH V2 01/12] fs/stat: Define DAX statx attribute

From: Darrick J. Wong
Date: Thu Jan 16 2020 - 13:05:00 EST


On Thu, Jan 16, 2020 at 09:55:02AM -0800, Ira Weiny wrote:
> On Wed, Jan 15, 2020 at 09:39:35PM -0800, Darrick J. Wong wrote:
> > On Wed, Jan 15, 2020 at 02:38:21PM -0800, Ira Weiny wrote:
> > > On Wed, Jan 15, 2020 at 12:10:50PM -0800, Dan Williams wrote:
> > > > On Wed, Jan 15, 2020 at 11:45 AM Ira Weiny <ira.weiny@xxxxxxxxx> wrote:
> > > > >
> > > > > On Wed, Jan 15, 2020 at 09:38:34AM -0800, Darrick J. Wong wrote:
> > > > > > On Wed, Jan 15, 2020 at 12:37:15PM +0100, Jan Kara wrote:
> > > > > > > On Fri 10-01-20 11:29:31, ira.weiny@xxxxxxxxx wrote:
> > > > > > > > From: Ira Weiny <ira.weiny@xxxxxxxxx>
> > > > > > > >
> > >
>
> [snip]
>
> > >
> > > Sure, but for now I think referencing mmap for details on MAP_SYNC works.
> > >
> > > I suspect that we may have some word smithing once I get this series in and we
> > > submit a change to the statx man page itself. Can I move forward with the
> > > following for this patch?
> > >
> > > <quote>
> > > STATX_ATTR_DAX
> > >
> > > The file is in the DAX (cpu direct access) state. DAX state
> >
> > Hmm, now that I see it written out, I <cough> kind of like "DAX mode"
> > better now. :/
> >
> > "The file is in DAX (CPU direct access) mode. DAX mode attempts..."
>
> Sure... now you tell me... ;-)
>
> Seriously, we could use mode here in the man page as this is less confusing to
> say "DAX mode".
>
> But I think the code should still use 'state' because mode is just too
> overloaded. You were not the only one who was thrown by my use of mode and I
> don't want that confusion when we look at this code 2 weeks from now...
>
> https://www.reddit.com/r/ProgrammerHumor/comments/852og2/only_god_knows/
>
> ;-)

Ok, let's leave it alone for now then.

I'm not even sure what 'DAX' stands for. Direct Access to ...
Professor Xavier? 8-)

> >
> > > attempts to minimize software cache effects for both I/O and
> > > memory mappings of this file. It requires a file system which
> > > has been configured to support DAX.
> > >
> > > DAX generally assumes all accesses are via cpu load / store
> > > instructions which can minimize overhead for small accesses, but
> > > may adversely affect cpu utilization for large transfers.
> > >
> > > File I/O is done directly to/from user-space buffers and memory
> > > mapped I/O may be performed with direct memory mappings that
> > > bypass kernel page cache.
> > >
> > > While the DAX property tends to result in data being transferred
> > > synchronously, it does not give the same guarantees of
> > > synchronous I/O where data and the necessary metadata are
> > > transferred together.
> >
> > (I'm frankly not sure that synchronous I/O actually guarantees that the
> > metadata has hit stable storage...)
>
> I'll let you and Dan work this one out... ;-)

Hehe. I think the wording here is fine.

--D

> Ira
>