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. --D > Ira >