[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210304163140.543171-2-peterx@redhat.com>
Date: Thu, 4 Mar 2021 11:31:37 -0500
From: Peter Xu <peterx@...hat.com>
To: linux-man@...r.kernel.org
Cc: Alejandro Colomar <alx.manpages@...il.com>,
Nadav Amit <nadav.amit@...il.com>,
Andrea Arcangeli <aarcange@...hat.com>,
linux-kernel@...r.kernel.org,
Michael Kerrisk <mtk.manpages@...il.com>,
Mike Rapoport <rppt@...ux.vnet.ibm.com>,
Axel Rasmussen <axelrasmussen@...gle.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Linux MM Mailing List <linux-mm@...ck.org>,
peterx@...hat.com
Subject: [PATCH v2 1/4] userfaultfd.2: Add UFFD_FEATURE_THREAD_ID docs
UFFD_FEATURE_THREAD_ID is supported since Linux 4.14.
Signed-off-by: Peter Xu <peterx@...hat.com>
---
man2/userfaultfd.2 | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/man2/userfaultfd.2 b/man2/userfaultfd.2
index e7dc9f813..0cd426a8a 100644
--- a/man2/userfaultfd.2
+++ b/man2/userfaultfd.2
@@ -77,6 +77,13 @@ 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 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. By default, thread ID
+reporting is diabled.
.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 +236,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 +368,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
Powered by blists - more mailing lists