2020-09-28 16:50:21

by Ira Weiny

[permalink] [raw]
Subject: Re: [PATCH] man/statx: Add STATX_ATTR_DAX

On Mon, May 04, 2020 at 05:20:16PM -0700, 'Ira Weiny' wrote:
> From: Ira Weiny <[email protected]>
>
> Linux 5.8 is slated to have STATX_ATTR_DAX support.
>
> https://lore.kernel.org/lkml/[email protected]/
> https://lore.kernel.org/lkml/20200504161352.GA13783@magnolia/
>
> Add the text to the statx man page.
>
> Signed-off-by: Ira Weiny <[email protected]>

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
>


Subject: Re: [PATCH] man/statx: Add STATX_ATTR_DAX

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 <[email protected]>
>>
>> Linux 5.8 is slated to have STATX_ATTR_DAX support.
>>
>> https://lore.kernel.org/lkml/[email protected]/
>> https://lore.kernel.org/lkml/20200504161352.GA13783@magnolia/
>>
>> Add the text to the statx man page.
>>
>> Signed-off-by: Ira Weiny <[email protected]>
>
> 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
>>


--
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/