File 2211-Revert-to-using-separate-carrier-pools-for-different.patch of Package erlang
From f6a041f4ce21a348bf91d17392afe82264f5de46 Mon Sep 17 00:00:00 2001
From: Rickard Green <rickard@erlang.org>
Date: Thu, 24 Sep 2020 17:55:23 +0200
Subject: [PATCH] Revert to using separate carrier pools for different
allocators
---
erts/doc/src/erts_alloc.xml | 4 ++--
erts/emulator/beam/erl_alloc.c | 16 ++++++++--------
2 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/erts/doc/src/erts_alloc.xml b/erts/doc/src/erts_alloc.xml
index 49966b2589..6957dcf421 100644
--- a/erts/doc/src/erts_alloc.xml
+++ b/erts/doc/src/erts_alloc.xml
@@ -619,8 +619,8 @@
pools to use for an allocator.
</p>
<p>
- Currently the <c>@</c> carrier pool is used by default, but
- this will most likely change.
+ Currently each allocator with an associated carrier pool
+ defaults to using its own associated carrier pool.
</p>
</item>
<tag><marker id="M_e"/><c><![CDATA[+M<S>e true|false]]></c></tag>
diff --git a/erts/emulator/beam/erl_alloc.c b/erts/emulator/beam/erl_alloc.c
index 0a632eaef6..0bf8177726 100644
--- a/erts/emulator/beam/erl_alloc.c
+++ b/erts/emulator/beam/erl_alloc.c
@@ -228,7 +228,7 @@ set_default_sl_alloc_opts(struct au_init *ip)
ip->astrat = ERTS_ALC_S_GOODFIT;
ip->init.util.name_prefix = "sl_";
ip->init.util.alloc_no = ERTS_ALC_A_SHORT_LIVED;
- ip->init.util.cp = ERTS_ALC_COMMON_CPOOL_IX;
+ ip->init.util.cp = ERTS_ALC_A_SHORT_LIVED;
#ifndef SMALL_MEMORY
ip->init.util.mmbcs = 128*1024; /* Main carrier size */
#else
@@ -248,7 +248,7 @@ set_default_std_alloc_opts(struct au_init *ip)
ip->astrat = ERTS_ALC_S_BESTFIT;
ip->init.util.name_prefix = "std_";
ip->init.util.alloc_no = ERTS_ALC_A_STANDARD;
- ip->init.util.cp = ERTS_ALC_COMMON_CPOOL_IX;
+ ip->init.util.cp = ERTS_ALC_A_STANDARD;
#ifndef SMALL_MEMORY
ip->init.util.mmbcs = 128*1024; /* Main carrier size */
#else
@@ -271,7 +271,7 @@ set_default_ll_alloc_opts(struct au_init *ip)
ip->init.util.sbct = ~((UWord) 0);
ip->init.util.name_prefix = "ll_";
ip->init.util.alloc_no = ERTS_ALC_A_LONG_LIVED;
- ip->init.util.cp = ERTS_ALC_COMMON_CPOOL_IX;
+ ip->init.util.cp = ERTS_ALC_A_LONG_LIVED;
#ifndef SMALL_MEMORY
ip->init.util.mmbcs = 2*1024*1024; /* Main carrier size */
#else
@@ -395,7 +395,7 @@ set_default_eheap_alloc_opts(struct au_init *ip)
ip->astrat = ERTS_ALC_S_GOODFIT;
ip->init.util.name_prefix = "eheap_";
ip->init.util.alloc_no = ERTS_ALC_A_EHEAP;
- ip->init.util.cp = ERTS_ALC_COMMON_CPOOL_IX;
+ ip->init.util.cp = ERTS_ALC_A_EHEAP;
#ifndef SMALL_MEMORY
ip->init.util.mmbcs = 512*1024; /* Main carrier size */
#else
@@ -415,7 +415,7 @@ set_default_binary_alloc_opts(struct au_init *ip)
ip->astrat = ERTS_ALC_S_BESTFIT;
ip->init.util.name_prefix = "binary_";
ip->init.util.alloc_no = ERTS_ALC_A_BINARY;
- ip->init.util.cp = ERTS_ALC_COMMON_CPOOL_IX;
+ ip->init.util.cp = ERTS_ALC_A_BINARY;
#ifndef SMALL_MEMORY
ip->init.util.mmbcs = 128*1024; /* Main carrier size */
#else
@@ -435,7 +435,7 @@ set_default_ets_alloc_opts(struct au_init *ip)
ip->astrat = ERTS_ALC_S_BESTFIT;
ip->init.util.name_prefix = "ets_";
ip->init.util.alloc_no = ERTS_ALC_A_ETS;
- ip->init.util.cp = ERTS_ALC_COMMON_CPOOL_IX;
+ ip->init.util.cp = ERTS_ALC_A_ETS;
#ifndef SMALL_MEMORY
ip->init.util.mmbcs = 128*1024; /* Main carrier size */
#else
@@ -454,7 +454,7 @@ set_default_driver_alloc_opts(struct au_init *ip)
ip->astrat = ERTS_ALC_S_BESTFIT;
ip->init.util.name_prefix = "driver_";
ip->init.util.alloc_no = ERTS_ALC_A_DRIVER;
- ip->init.util.cp = ERTS_ALC_COMMON_CPOOL_IX;
+ ip->init.util.cp = ERTS_ALC_A_DRIVER;
#ifndef SMALL_MEMORY
ip->init.util.mmbcs = 128*1024; /* Main carrier size */
#else
@@ -477,7 +477,7 @@ set_default_fix_alloc_opts(struct au_init *ip,
ip->init.util.name_prefix = "fix_";
ip->init.util.fix_type_size = fix_type_sizes;
ip->init.util.alloc_no = ERTS_ALC_A_FIXED_SIZE;
- ip->init.util.cp = ERTS_ALC_COMMON_CPOOL_IX;
+ ip->init.util.cp = ERTS_ALC_A_FIXED_SIZE;
#ifndef SMALL_MEMORY
ip->init.util.mmbcs = 128*1024; /* Main carrier size */
#else
--
2.26.2