From defd43985282606e841e2bcb29ad7414080d5a80 Mon Sep 17 00:00:00 2001
From: Sverker Eriksson
Date: Fri, 26 Jan 2018 18:42:32 +0100
Subject: erts: Add age order first fit allocator strategies
ageffcaoff: Age First Fit Carrier, Address Order First Fit (within carrier)
ageffcbf : Age First Fit Carrier, Best Fit (within carrier)
ageffcaobf: Age First Fit Carrier, Address Order Best Fit (within carrier)
Prefer old carriers, the older the better.
---
erts/doc/src/erts_alloc.xml | 37 +++++++++++++++++++++++++++++++++++--
1 file changed, 35 insertions(+), 2 deletions(-)
(limited to 'erts/doc')
diff --git a/erts/doc/src/erts_alloc.xml b/erts/doc/src/erts_alloc.xml
index 0d2b89ae42..4b43836742 100644
--- a/erts/doc/src/erts_alloc.xml
+++ b/erts/doc/src/erts_alloc.xml
@@ -225,6 +225,33 @@
used. The time complexity is proportional to log N, where
N is the number of free blocks.
+ Age order first fit carrier address order first fit
+ -
+
Strategy: Find the oldest carrier that
+ can satisfy the requested block size, then find a block within
+ that carrier using the "address order first fit" strategy.
+ Implementation: A balanced binary search tree is
+ used. The time complexity is proportional to log N, where
+ N is the number of free blocks.
+
+ Age order first fit carrier best fit
+ -
+
Strategy: Find the oldest carrier that
+ can satisfy the requested block size, then find a block within
+ that carrier using the "best fit" strategy.
+ Implementation: Balanced binary search trees are
+ used. The time complexity is proportional to log N, where
+ N is the number of free blocks.
+
+ Age order first fit carrier address order best fit
+ -
+
Strategy: Find the oldest carrier that
+ can satisfy the requested block size, then find a block within
+ that carrier using the "address order best fit" strategy.
+ Implementation: Balanced binary search trees are
+ used. The time complexity is proportional to log N, where
+ N is the number of free blocks.
+
Good fit
-
Strategy: Try to find the best fit, but settle for the best fit
@@ -467,7 +494,8 @@
fetched, it will function as an ordinary carrier. This feature has
special requirements on the
allocation strategy used. Only
- the strategies aoff, aoffcbf, and aoffcaobf
+ the strategies aoff, aoffcbf, aoffcaobf,
+ ageffcaoffm, ageffcbf and ageffcaobf
support abandoned carriers.
This feature also requires
multiple thread specific instances
@@ -501,7 +529,7 @@
- as bf|aobf|aoff|aoffcbf|aoffcaobf|gf|af]]>
+ as bf|aobf|aoff|aoffcbf|aoffcaobf|ageffcaoff|ageffcbf|ageffcaobf|gf|af]]>
-
Allocation strategy. The following strategies are valid:
@@ -512,6 +540,11 @@
- aoffcaobf (address order first fit carrier address
order best fit)
+ - ageffcaoff (age order first fit carrier address order first fit)
+ - ageffcbf (age order first fit carrier best fit)
+
+ - ageffcaobf (age order first fit carrier address
+ order best fit)
- gf (good fit)
- af (a fit)
--
cgit v1.2.3