mirror of https://github.com/mkerrisk/man-pages
membarrier.2: Use syscall(SYS_...); for system calls without a wrapper
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
This commit is contained in:
parent
3977e9ff1f
commit
39df5bd6bc
|
@ -28,13 +28,20 @@ membarrier \- issue memory barriers on a set of threads
|
|||
.SH SYNOPSIS
|
||||
.nf
|
||||
.PP
|
||||
.B #include <linux/membarrier.h>
|
||||
.BR "#include <linux/membarrier.h>" \
|
||||
" /* Definition of " MEMBARRIER_* " constants */"
|
||||
.BR "#include <sys/syscall.h>" " /* Definition of " SYS_* " constants */"
|
||||
.B #include <unistd.h>
|
||||
.PP
|
||||
.BI "int membarrier(int " cmd ", unsigned int " flags ", int " cpu_id );
|
||||
.BI "int syscall(SYS_membarrier, int " cmd ", unsigned int " flags \
|
||||
", int " cpu_id );
|
||||
.fi
|
||||
.PP
|
||||
.IR Note :
|
||||
There is no glibc wrapper for this system call; see NOTES.
|
||||
glibc provides no wrapper for
|
||||
.BR membarrier (),
|
||||
necessitating the use of
|
||||
.BR syscall (2).
|
||||
.SH DESCRIPTION
|
||||
The
|
||||
.BR membarrier ()
|
||||
|
@ -322,9 +329,6 @@ Examples where
|
|||
.BR membarrier ()
|
||||
can be useful include implementations
|
||||
of Read-Copy-Update libraries and garbage collectors.
|
||||
.PP
|
||||
Glibc does not provide a wrapper for this system call; call it using
|
||||
.BR syscall (2).
|
||||
.SH EXAMPLES
|
||||
Assuming a multithreaded application where "fast_path()" is executed
|
||||
very frequently, and where "slow_path()" is executed infrequently, the
|
||||
|
|
Loading…
Reference in New Issue