about summary refs log tree commit diff
path: root/manual/tunables.texi
diff options
context:
space:
mode:
Diffstat (limited to 'manual/tunables.texi')
-rw-r--r--manual/tunables.texi17
1 files changed, 17 insertions, 0 deletions
diff --git a/manual/tunables.texi b/manual/tunables.texi
index 7e8140199c..23ef0d40e7 100644
--- a/manual/tunables.texi
+++ b/manual/tunables.texi
@@ -250,6 +250,23 @@ increase the per-thread memory usage as necessary, so this tunable does
 not need to be changed to allow many audit modules e.g. via @env{LD_AUDIT}.
 @end deftp
 
+@deftp Tunable glibc.rtld.optional_static_tls
+Sets the amount of surplus static TLS in bytes to allocate at program
+startup.  Every thread created allocates this amount of specified surplus
+static TLS. This is a minimum value and additional space may be allocated
+for internal purposes including alignment.  Optional static TLS is used for
+optimizing dynamic TLS access for platforms that support such optimizations
+e.g. TLS descriptors or optimized TLS access for POWER (@code{DT_PPC64_OPT}
+and @code{DT_PPC_OPT}).  In order to make the best use of such optimizations
+the value should be as many bytes as would be required to hold all TLS
+variables in all dynamic loaded shared libraries.  The value cannot be known
+by the dynamic loader because it doesn't know the expected set of shared
+libraries which will be loaded.  The existing static TLS space cannot be
+changed once allocated at process startup.  The default allocation of
+optional static TLS is 512 bytes and is allocated in every thread.
+@end deftp
+
+
 @node Elision Tunables
 @section Elision Tunables
 @cindex elision tunables