Re: [PATCH V7 9/9] Documentation/dax: Update Usage section

From: Darrick J. Wong
Date: Tue Apr 14 2020 - 17:05:34 EST


On Tue, Apr 14, 2020 at 01:54:44PM -0700, Ira Weiny wrote:
> On Tue, Apr 14, 2020 at 01:18:08PM -0700, Darrick J. Wong wrote:
> > On Tue, Apr 14, 2020 at 01:00:15PM -0700, Ira Weiny wrote:
> > > On Tue, Apr 14, 2020 at 12:57:54PM -0700, Darrick J. Wong wrote:
> > > > On Tue, Apr 14, 2020 at 12:04:57PM -0700, Dan Williams wrote:
> > > > > On Tue, Apr 14, 2020 at 9:15 AM Darrick J. Wong <darrick.wong@xxxxxxxxxx> wrote:
> > >
> > > [snip]
> > >
> > > > > > > > +
> > > > > > > > +Enabling DAX on xfs
> > > > > > > > +-------------------
> > > > > > > > +
> > > > > > > > +Summary
> > > > > > > > +-------
> > > > > > > > +
> > > > > > > > + 1. There exists an in-kernel access mode flag S_DAX that is set when
> > > > > > > > + file accesses go directly to persistent memory, bypassing the page
> > > > > > > > + cache.
> > > > > > >
> > > > > > > I had reserved some quibbling with this wording, but now that this is
> > > > > > > being proposed as documentation I'll let my quibbling fly. "dax" may
> > > > > > > imply, but does not require persistent memory nor does it necessarily
> > > > > > > "bypass page cache". For example on configurations that support dax,
> > > > > > > but turn off MAP_SYNC (like virtio-pmem), a software flush is
> > > > > > > required. Instead, if we're going to define "dax" here I'd prefer it
> > > > > > > be a #include of the man page definition that is careful (IIRC) to
> > > > > > > only talk about semantics and not backend implementation details. In
> > > > > > > other words, dax is to page-cache as direct-io is to page cache,
> > > > > > > effectively not there, but dig a bit deeper and you may find it.
> > > > > >
> > > > > > Uh, which manpage? Are you talking about the MAP_SYNC documentation?
> > > > >
> > > > > No, I was referring to the proposed wording for STATX_ATTR_DAX.
> > > > > There's no reason for this description to say anything divergent from
> > > > > that description.
> > > >
> > > > Ahh, ok. Something like this, then:
> > > >
> > > > 1. There exists an in-kernel access mode flag S_DAX. When set, the
> > > > file is in the DAX (cpu direct access) state. DAX state attempts to
> > > > minimize software cache effects for both I/O and memory mappings of
> > > > this file. The S_DAX state is exposed to userspace via the
> > > > STATX_ATTR_DAX statx flag.
> > > >
> > > > See the STATX_ATTR_DAX in the statx(2) manpage for more information.
> > >
> > > We crossed in the ether!!! I propose even less details here... Leave all the
> > > details to the man page.
> > >
> > > <quote>
> > > 1. There exists an in-kernel access mode flag S_DAX that is set when file
> > > accesses is enabled for 'DAX'. Applications must call statx to discover
> > > the current S_DAX state (STATX_ATTR_DAX). See the man page for statx for
> > > more details.
> > > </quote>
> >
> > Why stop cutting there? :)
> >
> > 1. There exists an in-kernel file access mode flag S_DAX that
> > corresponds to the statx flag STATX_ATTR_DIRECT_LOAD_STORE. See the
> > manpage for statx(2) for details about this access mode.
>
> Sure! But I'm holding to STATX_ATTR_DAX... I don't like introducing another
> alias for this stuff. Why have '-o dax=x' and then have some other term here?

Ok, STATX_ATTR_DAX then.

> Keep the name the same for consistency.
>
> Searching for 'DAX Linux'[*] results in 'About 877,000 results' on Google.
>
> While "'direct load store' Linux" results in 'About 2,630 results'.
>
> I'll update the rest of the text though! :-D
>
> Ira
>
> [*] Because 'DAX' is some company index and or a rapper... <sigh>

Don't forget Jadzia and Ezri. ;)

--D