mirror of
https://github.com/jemalloc/jemalloc.git
synced 2026-07-28 11:23:08 +03:00
add experimental.arenas_create_ext mallctl
This mallctl accepts an arena_config_t structure which can be used to customize the behavior of the arena. Right now it contains extent_hooks and a new option, metadata_use_hooks, which controls whether the extent hooks are also used for metadata allocation. The medata_use_hooks option has two main use cases: 1. In heterogeneous memory systems, to avoid metadata being placed on potentially slower memory. 2. Avoiding virtual memory from being leaked as a result of metadata allocation failure originating in an extent hook.
This commit is contained in:
parent
a9031a0970
commit
7bb05e04be
17 changed files with 165 additions and 41 deletions
|
|
@ -42,7 +42,7 @@ test_sec_init(sec_t *sec, pai_t *fallback, size_t nshards, size_t max_alloc,
|
|||
* short-running, and SECs are arena-scoped in reality.
|
||||
*/
|
||||
base_t *base = base_new(TSDN_NULL, /* ind */ 123,
|
||||
&ehooks_default_extent_hooks);
|
||||
&ehooks_default_extent_hooks, /* metadata_use_hooks */ true);
|
||||
|
||||
bool err = sec_init(TSDN_NULL, sec, base, fallback, &opts);
|
||||
assert_false(err, "Unexpected initialization failure");
|
||||
|
|
@ -442,7 +442,7 @@ TEST_BEGIN(test_nshards_0) {
|
|||
/* See the note above -- we can't use the real tsd. */
|
||||
tsdn_t *tsdn = TSDN_NULL;
|
||||
base_t *base = base_new(TSDN_NULL, /* ind */ 123,
|
||||
&ehooks_default_extent_hooks);
|
||||
&ehooks_default_extent_hooks, /* metadata_use_hooks */ true);
|
||||
|
||||
sec_opts_t opts = SEC_OPTS_DEFAULT;
|
||||
opts.nshards = 0;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue