diff --git a/man2/membarrier.2 b/man2/membarrier.2 index 81d573dd5..c4285bfe0 100644 --- a/man2/membarrier.2 +++ b/man2/membarrier.2 @@ -92,6 +92,7 @@ All threads on the system are targeted by this command. Execute a memory barrier on all running threads of all processes that previously registered with .BR MEMBARRIER_CMD_REGISTER_GLOBAL_EXPEDITED . +.IP Upon return from the system call, the calling thread has a guarantee that all running threads have passed through a state where all memory accesses to user-space addresses match program order between entry to and return @@ -99,6 +100,7 @@ from the system call (non-running threads are de facto in such a state). This guarantee is provided only for the threads of processes that previously registered with .BR MEMBARRIER_CMD_REGISTER_GLOBAL_EXPEDITED . +.IP Given that registration is about the intent to receive the barriers, it is valid to invoke .BR MEMBARRIER_CMD_GLOBAL_EXPEDITED @@ -116,6 +118,7 @@ memory barriers. .BR MEMBARRIER_CMD_PRIVATE_EXPEDITED " (since Linux 4.14)" Execute a memory barrier on each running thread belonging to the same process as the calling thread. +.IP Upon return from the system call, the calling thread has a guarantee that all its running thread siblings have passed through a state where all memory accesses to user-space addresses match @@ -126,6 +129,7 @@ the same process as the calling thread. .IP The "expedited" commands complete faster than the non-expedited ones; they never block, but have the downside of causing extra overhead. +.IP A process must register its intent to use the private expedited command prior to using it. .TP @@ -140,8 +144,10 @@ upon return from system call the calling thread has a guarantee that all its running thread siblings have executed a core serializing instruction. This guarantee is provided only for threads in the same process as the calling thread. +.IP The "expedited" commands complete faster than the non-expedited ones, they never block, but have the downside of causing extra overhead. +.IP A process must register its intent to use the private expedited sync core command prior to using it. .TP