summaryrefslogtreecommitdiff
path: root/lib/libthr
diff options
context:
space:
mode:
authorKonstantin Belousov <kib@FreeBSD.org>2016-05-19 17:40:00 +0000
committerKonstantin Belousov <kib@FreeBSD.org>2016-05-19 17:40:00 +0000
commit41ea34a25ceb814f6f5d3460c3c88e3aa23710cc (patch)
treeef55a14f2937f4c4ef1dbf516d073edb4311f176 /lib/libthr
parent80e939f256e9286d40ebed15701722fe98b48ba1 (diff)
downloadsrc-test2-41ea34a25ceb814f6f5d3460c3c88e3aa23710cc.tar.gz
src-test2-41ea34a25ceb814f6f5d3460c3c88e3aa23710cc.zip
Notes
Diffstat (limited to 'lib/libthr')
-rw-r--r--lib/libthr/libthr.340
1 files changed, 38 insertions, 2 deletions
diff --git a/lib/libthr/libthr.3 b/lib/libthr/libthr.3
index fd90cdd57e9e..2b79e958f734 100644
--- a/lib/libthr/libthr.3
+++ b/lib/libthr/libthr.3
@@ -29,7 +29,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd February 12, 2015
+.Dd May 17, 2016
.Dt LIBTHR 3
.Os
.Sh NAME
@@ -167,7 +167,7 @@ for 32bit architectures.
The following environment variables are recognized by
.Nm
and adjust the operation of the library at run-time:
-.Bl -tag -width LIBPTHREAD_SPLITSTACK_MAIN
+.Bl -tag -width "Ev LIBPTHREAD_SPLITSTACK_MAIN"
.It Ev LIBPTHREAD_BIGSTACK_MAIN
Disables the reduction of the initial thread stack enabled by
.Ev LIBPTHREAD_SPLITSTACK_MAIN .
@@ -198,7 +198,37 @@ The integer value of the variable specifies how often blocked
threads are inserted at the head of the sleep queue, instead of its tail.
Bigger values reduce the frequency of the FIFO discipline.
The value must be between 0 and 255.
+.Pp
+.El
+The following
+.Dv sysctl
+MIBs affect the operation of the library:
+.Bl -tag -width "Dv debug.umtx.robust_faults_verbose"
+.It Dv kern.ipc.umtx_vnode_persistent
+By default, a shared lock backed by a mapped file in memory is
+automatically destroyed on the last unmap of the corresponding file's page,
+which is allowed by POSIX.
+Setting the sysctl to 1 makes such a shared lock object persist until
+the vnode is recycled by the Virtual File System.
+Note that in case file is not opened and not mapped, the kernel might
+recycle it at any moment, making this sysctl less useful than it sounds.
+.It Dv kern.ipc.umtx_max_robust
+The maximal number of robust mutexes allowed for one thread.
+The kernel will not unlock more mutexes than specified, see
+.Xr _umtx_op
+for more details.
+The default value is large enough for most useful applications.
+.It Dv debug.umtx.robust_faults_verbose
+A non zero value makes kernel emit some diagnostic when the robust
+mutexes unlock was prematurely aborted after detecting some inconsistency,
+as a measure to prevent memory corruption.
.El
+.Pp
+The
+.Dv RLIMIT_UMTXP
+limit (see
+.Xr getrlimit 2 )
+defines how many shared locks a given user may create simultaneously.
.Sh INTERACTION WITH RUN-TIME LINKER
On load,
.Nm
@@ -236,6 +266,12 @@ logs.
.Xr ld-elf.so.1 1 ,
.Xr getrlimit 2 ,
.Xr errno 2 ,
+.Xr thr_exit 2 ,
+.Xr thr_kill 2 ,
+.Xr thr_kill2 2 ,
+.Xr thr_new 2 ,
+.Xr thr_self 2 ,
+.Xr thr_set_name 2 ,
.Xr _umtx_op 2 ,
.Xr dlclose 3 ,
.Xr dlopen 3 ,