mirror of
https://github.com/jemalloc/jemalloc.git
synced 2026-07-27 11:07:33 +03:00
Use SEC in PAC to reduce lock contention on the ecaches
Add a small extent cache in front of the PAC ecaches. Allocs and dallocs that fit are served from per-shard SEC bins without taking the ecache mutex; overflow falls through to the backing ecaches, including ecache_pinned for pinned extents. The feature is gated behind experimental_pac_sec_nshards (default 0, disabled). To support independent HPA and PAC SEC instances, sec_alloc/sec_dalloc/sec_fill take an explicit shard argument, with HPA and PAC using separate TSD shard slots.
This commit is contained in:
parent
2043c6ab58
commit
9c1a484e1d
19 changed files with 986 additions and 102 deletions
|
|
@ -198,6 +198,9 @@ size_t opt_calloc_madvise_threshold = CALLOC_MADVISE_THRESHOLD_DEFAULT;
|
|||
bool opt_hpa = false;
|
||||
hpa_shard_opts_t opt_hpa_opts = HPA_SHARD_OPTS_DEFAULT;
|
||||
sec_opts_t opt_hpa_sec_opts = SEC_OPTS_DEFAULT;
|
||||
sec_opts_t opt_pac_sec_opts = {0,
|
||||
(32 * 1024) > (PAGE * 2) ? (32 * 1024) : (PAGE * 2),
|
||||
SEC_OPTS_MAX_BYTES_DEFAULT};
|
||||
|
||||
/* False should be the common case. Set to true to trigger initialization. */
|
||||
bool malloc_slow = true;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue