Message ID | 20200505002016.1085071-1-ira.weiny@intel.com (mailing list archive) |
---|---|
State | Deferred, archived |
Headers | show |
Series | man/statx: Add STATX_ATTR_DAX | expand |
On Mon, May 04, 2020 at 05:20:16PM -0700, 'Ira Weiny' wrote: > From: Ira Weiny <ira.weiny@intel.com> > > Linux 5.8 is slated to have STATX_ATTR_DAX support. > > https://lore.kernel.org/lkml/20200428002142.404144-4-ira.weiny@intel.com/ > https://lore.kernel.org/lkml/20200504161352.GA13783@magnolia/ > > Add the text to the statx man page. > > Signed-off-by: Ira Weiny <ira.weiny@intel.com> Have I sent this to the wrong list? Or perhaps I have missed a reply. I don't see this applied to the man-pages project.[1] But perhaps I am looking at the wrong place? Thank you, Ira [1] git://git.kernel.org/pub/scm/docs/man-pages/man-pages.git > --- > man2/statx.2 | 24 ++++++++++++++++++++++++ > 1 file changed, 24 insertions(+) > > diff --git a/man2/statx.2 b/man2/statx.2 > index 2e90f07dbdbc..14c4ab78e7bd 100644 > --- a/man2/statx.2 > +++ b/man2/statx.2 > @@ -468,6 +468,30 @@ The file has fs-verity enabled. > It cannot be written to, and all reads from it will be verified > against a cryptographic hash that covers the > entire file (e.g., via a Merkle tree). > +.TP > +.BR STATX_ATTR_DAX (since Linux 5.8) > +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. > +It requires a file system which has been configured to support DAX. > +.PP > +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. > +.PP > +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. > +.PP > +While the DAX property tends to result in data being transferred synchronously, > +it does not give the same guarantees of O_SYNC where data and the necessary > +metadata are transferred together. > +.PP > +A DAX file may support being mapped with the MAP_SYNC flag, which enables a > +program to use CPU cache flush instructions to persist CPU store operations > +without an explicit > +.BR fsync(2). > +See > +.BR mmap(2) > +for more information. > .SH RETURN VALUE > On success, zero is returned. > On error, \-1 is returned, and > -- > 2.25.1 >
Hello Ira, On 9/28/20 6:42 PM, Ira Weiny wrote: > On Mon, May 04, 2020 at 05:20:16PM -0700, 'Ira Weiny' wrote: >> From: Ira Weiny <ira.weiny@intel.com> >> >> Linux 5.8 is slated to have STATX_ATTR_DAX support. >> >> https://lore.kernel.org/lkml/20200428002142.404144-4-ira.weiny@intel.com/ >> https://lore.kernel.org/lkml/20200504161352.GA13783@magnolia/ >> >> Add the text to the statx man page. >> >> Signed-off-by: Ira Weiny <ira.weiny@intel.com> > > Have I sent this to the wrong list? Or perhaps I have missed a reply. No, it's just me being a bit slow, I'm sorry. Thank you for pining. > I don't see this applied to the man-pages project.[1] But perhaps I am looking > at the wrong place? Your patch is applied now, and pushed to kernel .org. Thanks! Cheers, Michael > [1] git://git.kernel.org/pub/scm/docs/man-pages/man-pages.git > >> --- >> man2/statx.2 | 24 ++++++++++++++++++++++++ >> 1 file changed, 24 insertions(+) >> >> diff --git a/man2/statx.2 b/man2/statx.2 >> index 2e90f07dbdbc..14c4ab78e7bd 100644 >> --- a/man2/statx.2 >> +++ b/man2/statx.2 >> @@ -468,6 +468,30 @@ The file has fs-verity enabled. >> It cannot be written to, and all reads from it will be verified >> against a cryptographic hash that covers the >> entire file (e.g., via a Merkle tree). >> +.TP >> +.BR STATX_ATTR_DAX (since Linux 5.8) >> +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. >> +It requires a file system which has been configured to support DAX. >> +.PP >> +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. >> +.PP >> +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. >> +.PP >> +While the DAX property tends to result in data being transferred synchronously, >> +it does not give the same guarantees of O_SYNC where data and the necessary >> +metadata are transferred together. >> +.PP >> +A DAX file may support being mapped with the MAP_SYNC flag, which enables a >> +program to use CPU cache flush instructions to persist CPU store operations >> +without an explicit >> +.BR fsync(2). >> +See >> +.BR mmap(2) >> +for more information. >> .SH RETURN VALUE >> On success, zero is returned. >> On error, \-1 is returned, and >> -- >> 2.25.1 >>
On Tue, Sep 29, 2020 at 10:38:46AM +0200, Michael Kerrisk (man-pages) wrote: > Hello Ira, > > On 9/28/20 6:42 PM, Ira Weiny wrote: > > On Mon, May 04, 2020 at 05:20:16PM -0700, 'Ira Weiny' wrote: > >> From: Ira Weiny <ira.weiny@intel.com> > >> > >> Linux 5.8 is slated to have STATX_ATTR_DAX support. > >> > >> https://lore.kernel.org/lkml/20200428002142.404144-4-ira.weiny@intel.com/ > >> https://lore.kernel.org/lkml/20200504161352.GA13783@magnolia/ > >> > >> Add the text to the statx man page. > >> > >> Signed-off-by: Ira Weiny <ira.weiny@intel.com> > > > > Have I sent this to the wrong list? Or perhaps I have missed a reply. > > No, it's just me being a bit slow, I'm sorry. Thank you for pining. NP > > > I don't see this applied to the man-pages project.[1] But perhaps I am looking > > at the wrong place? > > Your patch is applied now, and pushed to kernel .org. Thanks! Sweet! Thank you! Ira > > Cheers, > > Michael >
diff --git a/man2/statx.2 b/man2/statx.2 index 2e90f07dbdbc..14c4ab78e7bd 100644 --- a/man2/statx.2 +++ b/man2/statx.2 @@ -468,6 +468,30 @@ The file has fs-verity enabled. It cannot be written to, and all reads from it will be verified against a cryptographic hash that covers the entire file (e.g., via a Merkle tree). +.TP +.BR STATX_ATTR_DAX (since Linux 5.8) +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. +It requires a file system which has been configured to support DAX. +.PP +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. +.PP +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. +.PP +While the DAX property tends to result in data being transferred synchronously, +it does not give the same guarantees of O_SYNC where data and the necessary +metadata are transferred together. +.PP +A DAX file may support being mapped with the MAP_SYNC flag, which enables a +program to use CPU cache flush instructions to persist CPU store operations +without an explicit +.BR fsync(2). +See +.BR mmap(2) +for more information. .SH RETURN VALUE On success, zero is returned. On error, \-1 is returned, and