diff mbox series

man/statx: Add STATX_ATTR_DAX

Message ID 20200505002016.1085071-1-ira.weiny@intel.com
State Not Applicable
Headers show
Series man/statx: Add STATX_ATTR_DAX | expand

Commit Message

Ira Weiny May 5, 2020, 12:20 a.m. UTC
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>
---
 man2/statx.2 | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

Comments

Ira Weiny Sept. 28, 2020, 4:42 p.m. UTC | #1
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
>
Michael Kerrisk \(man-pages\) Sept. 29, 2020, 8:38 a.m. UTC | #2
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
>>
Ira Weiny Sept. 29, 2020, 8:09 p.m. UTC | #3
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 mbox series

Patch

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