lkml.org 
[lkml]   [2021]   [Mar]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 1/4] userfaultfd.2: Add UFFD_FEATURE_THREAD_ID docs
On Wed, Mar 03, 2021 at 08:59:44PM -0500, Peter Xu wrote:
> UFFD_FEATURE_THREAD_ID is supported since Linux 4.14.
>
> Signed-off-by: Peter Xu <peterx@redhat.com>
> ---
> man2/userfaultfd.2 | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
>
> diff --git a/man2/userfaultfd.2 b/man2/userfaultfd.2
> index e7dc9f813..2d14effc6 100644
> --- a/man2/userfaultfd.2
> +++ b/man2/userfaultfd.2
> @@ -77,6 +77,12 @@ When the last file descriptor referring to a userfaultfd object is closed,
> all memory ranges that were registered with the object are unregistered
> and unread events are flushed.
> .\"
> +.PP
> +Since Linux 4.14, userfaultfd page fault message can selectively embed fault

Maybe faulting? ^

> +thread ID information into the fault message. One needs to enable this feature
> +explicitly using the
> +.BR UFFD_FEATURE_THREAD_ID
> +feature bit when initializing the userfaultfd context, otherwise disabled.

"... otherwise thread ID reporting is disabled" ^

> .SS Usage
> The userfaultfd mechanism is designed to allow a thread in a multithreaded
> program to perform user-space paging for the other threads in the process.
> @@ -229,6 +235,9 @@ struct uffd_msg {
> struct {
> __u64 flags; /* Flags describing fault */
> __u64 address; /* Faulting address */
> + union {
> + __u32 ptid; /* Thread ID of the fault */
> + } feat;
> } pagefault;
>
> struct { /* Since Linux 4.11 */
> @@ -358,6 +367,9 @@ otherwise it is a read fault.
> .\" UFFD_PAGEFAULT_FLAG_WP is not yet supported.
> .RE
> .TP
> +.I pagefault.feat.pid
> +The thread ID that triggered the page fault.
> +.TP
> .I fork.ufd
> The file descriptor associated with the userfault object
> created for the child created by
> --
> 2.26.2
>

--
Sincerely yours,
Mike.

\
 
 \ /
  Last update: 2021-03-04 07:42    [W:0.085 / U:0.164 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site