summaryrefslogtreecommitdiffstats
path: root/doc/jemalloc.xml.in
diff options
context:
space:
mode:
authorJason Evans <je@fb.com>2016-02-24 22:36:58 (GMT)
committerJason Evans <je@fb.com>2016-02-24 22:38:54 (GMT)
commitf591d2611a311e8d100273fccfeb462c92ae9ce7 (patch)
tree472e41dce04411d4c179f5ad8645d1f0f0a7af89 /doc/jemalloc.xml.in
parentaa63d5d377b4508b83502e923690d1d7b67c8c88 (diff)
downloadjemalloc-f591d2611a311e8d100273fccfeb462c92ae9ce7.zip
jemalloc-f591d2611a311e8d100273fccfeb462c92ae9ce7.tar.gz
jemalloc-f591d2611a311e8d100273fccfeb462c92ae9ce7.tar.bz2
Update manual to reflect removal of global huge object tree.
This resolves #323.
Diffstat (limited to 'doc/jemalloc.xml.in')
-rw-r--r--doc/jemalloc.xml.in27
1 files changed, 11 insertions, 16 deletions
diff --git a/doc/jemalloc.xml.in b/doc/jemalloc.xml.in
index 28b5fb7..bbccabd 100644
--- a/doc/jemalloc.xml.in
+++ b/doc/jemalloc.xml.in
@@ -518,23 +518,18 @@ for (i = 0; i < nbins; i++) {
common case, but it increases memory usage and fragmentation, since a
bounded number of objects can remain allocated in each thread cache.</para>
- <para>Memory is conceptually broken into equal-sized chunks, where the
- chunk size is a power of two that is greater than the page size. Chunks
- are always aligned to multiples of the chunk size. This alignment makes it
- possible to find metadata for user objects very quickly.</para>
-
- <para>User objects are broken into three categories according to size:
- small, large, and huge. Small and large objects are managed entirely by
- arenas; huge objects are additionally aggregated in a single data structure
- that is shared by all threads. Huge objects are typically used by
- applications infrequently enough that this single data structure is not a
- scalability issue.</para>
-
- <para>Each chunk that is managed by an arena tracks its contents as runs of
+ <para>Memory is conceptually broken into equal-sized chunks, where the chunk
+ size is a power of two that is greater than the page size. Chunks are
+ always aligned to multiples of the chunk size. This alignment makes it
+ possible to find metadata for user objects very quickly. User objects are
+ broken into three categories according to size: small, large, and huge.
+ Multiple small and large objects can reside within a single chunk, whereas
+ huge objects each have one or more chunks backing them. Each chunk that
+ contains small and/or large objects tracks its contents as runs of
contiguous pages (unused, backing a set of small objects, or backing one
- large object). The combination of chunk alignment and chunk page maps
- makes it possible to determine all metadata regarding small and large
- allocations in constant time.</para>
+ large object). The combination of chunk alignment and chunk page maps makes
+ it possible to determine all metadata regarding small and large allocations
+ in constant time.</para>
<para>Small objects are managed in groups by page runs. Each run maintains
a bitmap to track which regions are in use. Allocation requests that are no