summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorjasone <jasone@FreeBSD.org>2007-11-27 03:18:26 +0000
committerjasone <jasone@FreeBSD.org>2007-11-27 03:18:26 +0000
commitafb1c25b9f3794463d6218fd2f8d7596db6771dd (patch)
tree73212f5a64663888f3d2ff789c66de99dbdc90f3 /lib
parent4db288d2b346e18e540c270c6b3e1b6ed3bd7b14 (diff)
downloadFreeBSD-src-afb1c25b9f3794463d6218fd2f8d7596db6771dd.zip
FreeBSD-src-afb1c25b9f3794463d6218fd2f8d7596db6771dd.tar.gz
Document the B and L MALLOC_OPTIONS.
Diffstat (limited to 'lib')
-rw-r--r--lib/libc/stdlib/malloc.327
1 files changed, 26 insertions, 1 deletions
diff --git a/lib/libc/stdlib/malloc.3 b/lib/libc/stdlib/malloc.3
index 4667588..1e261a3 100644
--- a/lib/libc/stdlib/malloc.3
+++ b/lib/libc/stdlib/malloc.3
@@ -32,7 +32,7 @@
.\" @(#)malloc.3 8.1 (Berkeley) 6/4/93
.\" $FreeBSD$
.\"
-.Dd June 15, 2007
+.Dd October 1, 2007
.Dt MALLOC 3
.Os
.Sh NAME
@@ -177,6 +177,19 @@ flags being set) become fatal.
The process will call
.Xr abort 3
in these cases.
+.It B
+Increase/decrease the per-arena lock contention threshold at which a thread is
+randomly re-assigned to an arena.
+This dynamic load balancing tends to push threads away from highly contended
+arenas, which avoids worst case contention scenarios in which threads
+disproportionately utilize arenas.
+However, due to the highly dynamic load that applications may place on the
+allocator, it is impossible for the allocator to know in advance how sensitive
+it should be to contention over arenas.
+Therefore, some applications may benefit from increasing or decreasing this
+threshold parameter.
+This option is not available for some configurations (non-PIC).
+This option can be specified multiple times.
.It H
Use
.Xr madvise 2
@@ -204,6 +217,18 @@ This is intended for debugging and will impact performance negatively.
Increase/decrease the virtual memory chunk size by a factor of two.
The default chunk size is 1 MB.
This option can be specified multiple times.
+.It L
+Increase/decrease the per-arena number of slots for lazy deallocation.
+Lazy deallocation can decrease lock contention, especially for programs that use
+the producer/consumer model.
+The default is 256 slots per arena (so
+.Ev MALLOC_OPTIONS=lllllllll
+will disable lazy deallocation), but note that due to algorithmic details, the
+cache is typically flushed well before it completely fills.
+This option has no impact unless there are multiple CPUs, and lazy deallocation
+does not activate unless the program uses multiple threads.
+This option is not available for some configurations (non-PIC).
+This option can be specified multiple times.
.It N
Increase/decrease the number of arenas by a factor of two.
The default number of arenas is four times the number of CPUs, or one if there
OpenPOWER on IntegriCloud