diff options
author | Konstantin Belousov <kib@FreeBSD.org> | 2016-05-19 17:40:00 +0000 |
---|---|---|
committer | Konstantin Belousov <kib@FreeBSD.org> | 2016-05-19 17:40:00 +0000 |
commit | 41ea34a25ceb814f6f5d3460c3c88e3aa23710cc (patch) | |
tree | ef55a14f2937f4c4ef1dbf516d073edb4311f176 /lib/libthr | |
parent | 80e939f256e9286d40ebed15701722fe98b48ba1 (diff) | |
download | src-test2-41ea34a25ceb814f6f5d3460c3c88e3aa23710cc.tar.gz src-test2-41ea34a25ceb814f6f5d3460c3c88e3aa23710cc.zip |
Notes
Diffstat (limited to 'lib/libthr')
-rw-r--r-- | lib/libthr/libthr.3 | 40 |
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 , |