From: "Darrick J. Wong" <darrick.wong@oracle.com>
To: Dan Williams <dan.j.williams@intel.com>
Cc: "Weiny, Ira" <ira.weiny@intel.com>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Dave Chinner <david@fromorbit.com>,
Christoph Hellwig <hch@lst.de>,
"Theodore Y. Ts'o" <tytso@mit.edu>, Jan Kara <jack@suse.cz>,
Jeff Moyer <jmoyer@redhat.com>,
linux-ext4 <linux-ext4@vger.kernel.org>,
linux-xfs <linux-xfs@vger.kernel.org>,
linux-fsdevel <linux-fsdevel@vger.kernel.org>
Subject: Re: [PATCH V7 9/9] Documentation/dax: Update Usage section
Date: Tue, 14 Apr 2020 12:57:54 -0700 [thread overview]
Message-ID: <20200414195754.GH6742@magnolia> (raw)
In-Reply-To: <CAPcyv4hr+NKbpAU4UhKcmHfvDq1+GTM+y+K28XGbkDYBP=Kaag@mail.gmail.com>
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@oracle.com> wrote:
> >
> > On Mon, Apr 13, 2020 at 10:21:26PM -0700, Dan Williams wrote:
> > > On Sun, Apr 12, 2020 at 10:41 PM <ira.weiny@intel.com> wrote:
> > > >
> > > > From: Ira Weiny <ira.weiny@intel.com>
> > > >
> > > > Update the Usage section to reflect the new individual dax selection
> > > > functionality.
> > > >
> > > > Signed-off-by: Ira Weiny <ira.weiny@intel.com>
> > > >
> > > > ---
> > > > Changes from V6:
> > > > Update to allow setting FS_XFLAG_DAX any time.
> > > > Update with list of behaviors from Darrick
> > > > https://lore.kernel.org/lkml/20200409165927.GD6741@magnolia/
> > > >
> > > > Changes from V5:
> > > > Update to reflect the agreed upon semantics
> > > > https://lore.kernel.org/lkml/20200405061945.GA94792@iweiny-DESK2.sc.intel.com/
> > > > ---
> > > > Documentation/filesystems/dax.txt | 166 +++++++++++++++++++++++++++++-
> > > > 1 file changed, 163 insertions(+), 3 deletions(-)
> > > >
> > > > diff --git a/Documentation/filesystems/dax.txt b/Documentation/filesystems/dax.txt
> > > > index 679729442fd2..af14c1b330a9 100644
> > > > --- a/Documentation/filesystems/dax.txt
> > > > +++ b/Documentation/filesystems/dax.txt
> > > > @@ -17,11 +17,171 @@ For file mappings, the storage device is mapped directly into userspace.
> > > > Usage
> > > > -----
> > > >
> > > > -If you have a block device which supports DAX, you can make a filesystem
> > > > +If you have a block device which supports DAX, you can make a file system
> > > > on it as usual. The DAX code currently only supports files with a block
> > > > size equal to your kernel's PAGE_SIZE, so you may need to specify a block
> > > > -size when creating the filesystem. When mounting it, use the "-o dax"
> > > > -option on the command line or add 'dax' to the options in /etc/fstab.
> > > > +size when creating the file system.
> > > > +
> > > > +Currently 2 filesystems support DAX, ext4 and xfs. Enabling DAX on them is
> > > > +different at this time.
> > > > +
> > > > +Enabling DAX on ext4
> > > > +--------------------
> > > > +
> > > > +When mounting the filesystem, use the "-o dax" option on the command line or
> > > > +add 'dax' to the options in /etc/fstab.
> > > > +
> > > > +
> > > > +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.
--D
next prev parent reply other threads:[~2020-04-14 19:58 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-04-13 5:40 [PATCH V7 0/9] Enable per-file/per-directory DAX operations V7 ira.weiny
2020-04-13 5:40 ` [PATCH V7 1/9] fs/xfs: Remove unnecessary initialization of i_rwsem ira.weiny
2020-04-13 15:41 ` Darrick J. Wong
2020-04-13 5:40 ` [PATCH V7 2/9] fs: Remove unneeded IS_DAX() check in io_is_direct() ira.weiny
2020-04-14 6:22 ` Christoph Hellwig
2020-04-13 5:40 ` [PATCH V7 3/9] fs/stat: Define DAX statx attribute ira.weiny
2020-04-14 6:23 ` Christoph Hellwig
2020-04-14 20:39 ` Ira Weiny
2020-04-13 5:40 ` [PATCH V7 4/9] fs/xfs: Make DAX mount option a tri-state ira.weiny
2020-04-13 15:46 ` Darrick J. Wong
2020-04-13 19:28 ` Ira Weiny
2020-04-14 6:24 ` Christoph Hellwig
2020-04-14 6:25 ` Christoph Hellwig
2020-04-14 20:34 ` Ira Weiny
2020-04-13 5:40 ` [PATCH V7 5/9] fs/xfs: Create function xfs_inode_enable_dax() ira.weiny
2020-04-13 15:52 ` Darrick J. Wong
2020-04-13 19:39 ` Ira Weiny
2020-04-14 6:27 ` Christoph Hellwig
2020-04-14 20:43 ` Ira Weiny
2020-04-13 5:40 ` [PATCH V7 6/9] fs/xfs: Combine xfs_diflags_to_linux() and xfs_diflags_to_iflags() ira.weiny
2020-04-13 16:01 ` Darrick J. Wong
2020-04-14 4:07 ` Ira Weiny
2020-04-13 5:40 ` [PATCH V7 7/9] fs: Define I_DONTCACNE in VFS layer ira.weiny
2020-04-13 16:09 ` Darrick J. Wong
2020-04-13 16:13 ` Darrick J. Wong
2020-04-13 19:44 ` Ira Weiny
2020-04-14 15:26 ` Jan Kara
2020-04-14 15:45 ` Ira Weiny
2020-04-14 15:59 ` Jan Kara
2020-04-13 5:40 ` [PATCH V7 8/9] fs/xfs: Change xfs_ioctl_setattr_dax_invalidate() ira.weiny
2020-04-13 16:12 ` Darrick J. Wong
2020-04-13 19:46 ` Ira Weiny
2020-04-13 5:40 ` [PATCH V7 9/9] Documentation/dax: Update Usage section ira.weiny
2020-04-13 16:19 ` Darrick J. Wong
2020-04-14 4:38 ` Ira Weiny
2020-04-14 5:12 ` Dan Williams
2020-04-14 19:48 ` Ira Weiny
2020-04-15 8:23 ` Jan Kara
2020-04-14 5:21 ` Dan Williams
2020-04-14 16:15 ` Darrick J. Wong
2020-04-14 19:04 ` Dan Williams
2020-04-14 19:57 ` Darrick J. Wong [this message]
2020-04-14 20:00 ` Ira Weiny
2020-04-14 20:18 ` Darrick J. Wong
2020-04-14 20:54 ` Ira Weiny
2020-04-14 21:02 ` Darrick J. Wong
2020-04-14 19:58 ` Ira Weiny
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200414195754.GH6742@magnolia \
--to=darrick.wong@oracle.com \
--cc=dan.j.williams@intel.com \
--cc=david@fromorbit.com \
--cc=hch@lst.de \
--cc=ira.weiny@intel.com \
--cc=jack@suse.cz \
--cc=jmoyer@redhat.com \
--cc=linux-ext4@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-xfs@vger.kernel.org \
--cc=tytso@mit.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.