| /f-stack/app/redis-5.0.5/deps/jemalloc/src/ |
| H A D | arena.c | 93 + arena_stats_read_zu(tsdn, &arena->stats, &arena->stats.mapped)); in arena_stats_merge() 214 extents_dalloc(tsdn, arena, r_extent_hooks, &arena->extents_dirty, in arena_extents_dirty_dalloc() 712 return arena_decay_ms_set(tsdn, arena, &arena->decay_dirty, in arena_dirty_decay_ms_set() 719 return arena_decay_ms_set(tsdn, arena, &arena->decay_muzzy, in arena_muzzy_decay_ms_set() 800 arena_stats_sub_zu(tsdn, &arena->stats, &arena->stats.mapped, in arena_decay_stashed() 885 return arena_decay_impl(tsdn, arena, &arena->decay_dirty, in arena_decay_dirty() 892 return arena_decay_impl(tsdn, arena, &arena->decay_muzzy, in arena_decay_muzzy() 1376 arena = arena_choose(tsdn_tsd(tsdn), arena); in arena_malloc_hard() 1763 arena_t *arena; in arena_new() local 1909 return arena; in arena_new() [all …]
|
| H A D | large.c | 28 assert(!tsdn_null(tsdn) || arena != NULL); in large_palloc() 45 arena = arena_choose(tsdn_tsd(tsdn), arena); in large_palloc() 53 if (!arena_is_auto(arena)) { in large_palloc() 55 malloc_mutex_lock(tsdn, &arena->large_mtx); in large_palloc() 56 extent_list_append(&arena->large, extent); in large_palloc() 70 arena_decay_tick(tsdn, arena); in large_palloc() 97 arena_t *arena = extent_arena_get(extent); in large_ralloc_no_move_shrink() local 133 arena_t *arena = extent_arena_get(extent); in large_ralloc_no_move_expand() local 313 if (!arena_is_auto(arena)) { in large_dalloc_prep_impl() 322 if (!arena_is_auto(arena)) { in large_dalloc_prep_impl() [all …]
|
| H A D | extent.c | 1183 arena_t *arena; in extent_alloc_default() local 1191 assert(arena != NULL); in extent_alloc_default() 1210 pre_reentrancy(tsd, arena); in extent_hook_pre_reentrancy() 1270 arena_ind_get(arena)); in extent_grow_retained() 1355 arena->extent_grow_next = arena->retain_grow_limit; in extent_grow_retained() 1752 extent_record(tsdn, arena, r_extent_hooks, &arena->extents_retained, in extent_dalloc_wrapper() 1857 arena_ind_get(arena))); in extent_decommit_wrapper() 1896 arena_ind_get(arena)); in extent_purge_lazy_impl() 1943 arena_ind_get(arena)); in extent_purge_forced_impl() 2028 arena_ind_get(arena)); in extent_split_impl() [all …]
|
| H A D | tcache.c | 111 arena_t *arena = tcache->arena; in tcache_bin_flush_small() local 112 assert(arena != NULL); in tcache_bin_flush_small() 196 arena_t *arena = tcache->arena; in tcache_bin_flush_large() local 197 assert(arena != NULL); in tcache_bin_flush_large() 289 tcache->arena = arena; in tcache_arena_associate() 309 arena_t *arena = tcache->arena; in tcache_arena_dissociate() local 331 tcache->arena = NULL; in tcache_arena_dissociate() 360 tcache->arena = NULL; in tcache_init() 412 tcache->arena = NULL; in tsd_tcache_data_init() 413 arena_t *arena; in tsd_tcache_data_init() local [all …]
|
| H A D | extent_dss.c | 110 extent_alloc_dss(tsdn_t *tsdn, arena_t *arena, void *new_addr, size_t size, in extent_alloc_dss() argument 126 gap = extent_alloc(tsdn, arena); in extent_alloc_dss() 156 extent_init(gap, arena, gap_addr_page, in extent_alloc_dss() 158 arena_extent_sn_next(arena), in extent_alloc_dss() 188 extent_dalloc_gap(tsdn, arena, gap); in extent_alloc_dss() 190 extent_dalloc(tsdn, arena, gap); in extent_alloc_dss() 200 extent_init(&extent, arena, ret, size, in extent_alloc_dss() 205 arena, &extent_hooks, &extent, 0, in extent_alloc_dss() 226 extent_dalloc(tsdn, arena, gap); in extent_alloc_dss()
|
| H A D | jemalloc.c | 313 arena_t *arena; in arena_init_locked() local 330 return arena; in arena_init_locked() 336 return arena; in arena_init_locked() 359 arena_t *arena; in arena_init() local 367 return arena; in arena_init() 395 arena_t *arena; in arena_unbind() local 574 ret = arena; in arena_choose_hard() 610 arena_t *arena; in arena_cleanup() local 1675 arena_t *arena; in imalloc_no_sample() local 1699 arena = NULL; in imalloc_no_sample() [all …]
|
| H A D | ctl.c | 2031 if (*arena == NULL || arena_is_auto(*arena)) { in arena_i_reset_destroy_helper() 2079 arena_t *arena; in arena_i_reset_ctl() local 2099 arena_t *arena; in arena_i_destroy_ctl() local 2108 if (arena_nthreads_get(arena, false) != 0 || arena_nthreads_get(arena, in arena_i_destroy_ctl() 2201 arena_t *arena; in arena_i_decay_ms_ctl_impl() local 2205 if (arena == NULL) { in arena_i_decay_ms_ctl_impl() 2252 arena_t *arena; in arena_i_extent_hooks_ctl() local 2307 arena_t *arena; in arena_i_retain_grow_limit_ctl() local 2483 arena_t *arena; in arenas_lookup_ctl() local 2494 if (arena == NULL) in arenas_lookup_ctl() [all …]
|
| H A D | background_thread.c | 59 void background_thread_interval_check(tsdn_t *tsdn, arena_t *arena, in background_thread_create() 207 &arena->extents_dirty); 212 &arena->extents_muzzy); 293 arena_t *arena = arena_get(tsdn, i, false); 294 if (!arena) { 297 arena_decay(tsdn, arena, true, false); 303 arena); 645 background_thread_interval_check(tsdn_t *tsdn, arena_t *arena, 648 arena); 709 (extents_npages_get(&arena->extents_dirty) > 0 || [all …]
|
| /f-stack/app/redis-5.0.5/deps/jemalloc/include/jemalloc/internal/ |
| H A D | arena_externs.h | 39 ssize_t arena_dirty_decay_ms_get(arena_t *arena); 41 ssize_t arena_muzzy_decay_ms_get(arena_t *arena); 45 void arena_reset(tsd_t *tsd, arena_t *arena); 46 void arena_destroy(tsd_t *tsd, arena_t *arena); 69 dss_prec_t arena_dss_prec_get(arena_t *arena); 80 size_t arena_extent_sn_next(arena_t *arena); 83 void arena_prefork0(tsdn_t *tsdn, arena_t *arena); 84 void arena_prefork1(tsdn_t *tsdn, arena_t *arena); 85 void arena_prefork2(tsdn_t *tsdn, arena_t *arena); 86 void arena_prefork3(tsdn_t *tsdn, arena_t *arena); [all …]
|
| H A D | extent_externs.h | 15 extent_t *extent_alloc(tsdn_t *tsdn, arena_t *arena); 18 extent_hooks_t *extent_hooks_get(arena_t *arena); 19 extent_hooks_t *extent_hooks_set(tsd_t *tsd, arena_t *arena, 34 extent_t *extents_alloc(tsdn_t *tsdn, arena_t *arena, 38 void extents_dalloc(tsdn_t *tsdn, arena_t *arena, 40 extent_t *extents_evict(tsdn_t *tsdn, arena_t *arena, 49 void extent_dalloc_wrapper(tsdn_t *tsdn, arena_t *arena, 51 void extent_destroy_wrapper(tsdn_t *tsdn, arena_t *arena, 53 bool extent_commit_wrapper(tsdn_t *tsdn, arena_t *arena, 56 bool extent_decommit_wrapper(tsdn_t *tsdn, arena_t *arena, [all …]
|
| H A D | jemalloc_internal_inlines_b.h | 11 if (arena != NULL) { in arena_choose_impl() 12 return arena; in arena_choose_impl() 26 if (tcache->arena != NULL) { in arena_choose_impl() 28 assert(tcache->arena == in arena_choose_impl() 30 if (tcache->arena != ret) { in arena_choose_impl() 62 arena_choose(tsd_t *tsd, arena_t *arena) { in arena_choose() argument 63 return arena_choose_impl(tsd, arena, false); in arena_choose() 67 arena_ichoose(tsd_t *tsd, arena_t *arena) { in arena_ichoose() argument 68 return arena_choose_impl(tsd, arena, true); in arena_ichoose() 72 arena_is_auto(arena_t *arena) { in arena_is_auto() argument [all …]
|
| H A D | arena_inlines_a.h | 5 arena_ind_get(const arena_t *arena) { in arena_ind_get() argument 6 return base_ind_get(arena->base); in arena_ind_get() 10 arena_internal_add(arena_t *arena, size_t size) { in arena_internal_add() argument 11 atomic_fetch_add_zu(&arena->stats.internal, size, ATOMIC_RELAXED); in arena_internal_add() 15 arena_internal_sub(arena_t *arena, size_t size) { in arena_internal_sub() argument 16 atomic_fetch_sub_zu(&arena->stats.internal, size, ATOMIC_RELAXED); in arena_internal_sub() 20 arena_internal_get(arena_t *arena) { in arena_internal_get() argument 21 return atomic_load_zu(&arena->stats.internal, ATOMIC_RELAXED); in arena_internal_get() 25 arena_prof_accum(tsdn_t *tsdn, arena_t *arena, uint64_t accumbytes) { in arena_prof_accum() argument 32 return prof_accum_add(tsdn, &arena->prof_accum, accumbytes); in arena_prof_accum()
|
| H A D | jemalloc_internal_inlines_c.h | 42 bool is_internal, arena_t *arena, bool slow_path) { in iallocztm() argument 47 assert(!is_internal || arena == NULL || arena_is_auto(arena)); in iallocztm() 68 tcache_t *tcache, bool is_internal, arena_t *arena) { in ipallocztm() argument 74 assert(!is_internal || arena == NULL || arena_is_auto(arena)); in ipallocztm() 88 tcache_t *tcache, arena_t *arena) { in ipalloct() argument 137 arena_t *arena) { in iralloct_realign() argument 147 p = ipalloct(tsdn, usize, alignment, zero, tcache, arena); in iralloct_realign() 174 bool zero, tcache_t *tcache, arena_t *arena) { in iralloct() argument 187 zero, tcache, arena); in iralloct() 229 arena_t *arena = extent_arena_get(slab); in iget_defrag_hint() local [all …]
|
| H A D | background_thread_inlines.h | 16 arena_background_thread_info_get(arena_t *arena) { in arena_background_thread_info_get() argument 17 unsigned arena_ind = arena_ind_get(arena); in arena_background_thread_info_get() 44 arena_background_thread_inactivity_check(tsdn_t *tsdn, arena_t *arena, in arena_background_thread_inactivity_check() argument 50 arena_background_thread_info_get(arena); in arena_background_thread_inactivity_check() 52 background_thread_interval_check(tsdn, arena, in arena_background_thread_inactivity_check() 53 &arena->decay_dirty, 0); in arena_background_thread_inactivity_check()
|
| H A D | tcache_inlines.h | 42 tcache_alloc_small(tsd_t *tsd, arena_t *arena, tcache_t *tcache, in tcache_alloc_small() argument 55 arena = arena_choose(tsd, arena); in tcache_alloc_small() 56 if (unlikely(arena == NULL)) { in tcache_alloc_small() 60 ret = tcache_alloc_small_hard(tsd_tsdn(tsd), arena, tcache, in tcache_alloc_small() 104 tcache_alloc_large(tsd_t *tsd, arena_t *arena, tcache_t *tcache, size_t size, in tcache_alloc_large() argument 119 arena = arena_choose(tsd, arena); in tcache_alloc_large() 120 if (unlikely(arena == NULL)) { in tcache_alloc_large() 124 ret = large_malloc(tsd_tsdn(tsd), arena, sz_s2u(size), zero); in tcache_alloc_large()
|
| H A D | tcache_externs.h | 32 void *tcache_alloc_small_hard(tsdn_t *tsdn, arena_t *arena, tcache_t *tcache, 39 arena_t *arena); 42 void tcache_stats_merge(tsdn_t *tsdn, tcache_t *tcache, arena_t *arena); 47 void tcache_arena_associate(tsdn_t *tsdn, tcache_t *tcache, arena_t *arena);
|
| H A D | arena_inlines_b.h | 61 arena_decay_ticks(tsdn_t *tsdn, arena_t *arena, unsigned nticks) { in arena_decay_ticks() argument 69 decay_ticker = decay_ticker_get(tsd, arena_ind_get(arena)); in arena_decay_ticks() 74 arena_decay(tsdn, arena, false, false); in arena_decay_ticks() 79 arena_decay_tick(tsdn_t *tsdn, arena_t *arena) { in arena_decay_tick() argument 80 malloc_mutex_assert_not_owner(tsdn, &arena->decay_dirty.mtx); in arena_decay_tick() 81 malloc_mutex_assert_not_owner(tsdn, &arena->decay_muzzy.mtx); in arena_decay_tick() 83 arena_decay_ticks(tsdn, arena, 1); in arena_decay_tick() 87 arena_malloc(tsdn_t *tsdn, arena_t *arena, size_t size, szind_t ind, bool zero, in arena_malloc() argument 94 return tcache_alloc_small(tsdn_tsd(tsdn), arena, in arena_malloc() 98 return tcache_alloc_large(tsdn_tsd(tsdn), arena, in arena_malloc() [all …]
|
| H A D | large_externs.h | 4 void *large_malloc(tsdn_t *tsdn, arena_t *arena, size_t usize, bool zero); 5 void *large_palloc(tsdn_t *tsdn, arena_t *arena, size_t usize, size_t alignment, 9 void *large_ralloc(tsdn_t *tsdn, arena_t *arena, extent_t *extent, size_t usize,
|
| H A D | jemalloc_internal_inlines_a.h | 130 assert(tsd_tcachep_get(tsd)->arena == NULL || in tcache_available() 149 pre_reentrancy(tsd_t *tsd, arena_t *arena) { in pre_reentrancy() argument 151 assert(arena != arena_get(tsd_tsdn(tsd), 0, false)); in pre_reentrancy()
|
| H A D | extent_inlines.h | 180 extent_arena_set(extent_t *extent, arena_t *arena) { in extent_arena_set() argument 181 unsigned arena_ind = (arena != NULL) ? arena_ind_get(arena) : ((1U << in extent_arena_set() 303 extent_init(extent_t *extent, arena_t *arena, void *addr, size_t size, in extent_init() argument 308 extent_arena_set(extent, arena); in extent_init()
|
| /f-stack/freebsd/vm/ |
| H A D | vm_kern.c | 403 vmem_t *arena; in kmem_malloc_domain() local 408 arena = vm_dom[domain].vmd_kernel_arena; in kmem_malloc_domain() 410 arena = vm_dom[domain].vmd_kernel_rwx_arena; in kmem_malloc_domain() 417 vmem_free(arena, addr, size); in kmem_malloc_domain() 561 struct vmem *arena; in _kmem_unback() local 578 arena = vm_dom[domain].vmd_kernel_arena; in _kmem_unback() 580 arena = vm_dom[domain].vmd_kernel_rwx_arena; in _kmem_unback() 589 return (arena); in _kmem_unback() 608 struct vmem *arena; in kmem_free() local 612 if (arena != NULL) in kmem_free() [all …]
|
| /f-stack/app/redis-5.0.5/deps/jemalloc/include/jemalloc/ |
| H A D | jemalloc_macros.h.in | 30 * Bias arena index bits so that 0 encodes "use an automatically chosen arena". 35 * Use as arena index in "arena.<i>.{purge,decay,dss}" and 43 * mallctl("arena." STRINGIFY(MALLCTL_ARENAS_ALL) ".purge", NULL, NULL, NULL, 48 * Use as arena index in "stats.arenas.<i>.*" mallctl interfaces to select
|
| /f-stack/app/redis-5.0.5/deps/jemalloc/ |
| H A D | TUNING.md | 52 However high arena count may also increase overall memory fragmentation, 57 Suggested: if low parallelism is expected, try lower arena count while 62 Enable dynamic thread to arena association based on running CPU. This has 81 e.g. `dirty_decay_ms:5000,muzzy_decay_ms:5000`), and lower arena count 108 dedicated arena with 112 time](http://jemalloc.net/jemalloc.3.html#arena.i.dirty_decay_ms) if 115 * [Extent hooks](http://jemalloc.net/jemalloc.3.html#arena.i.extent_hooks) 123 * [Explicit thread-to-arena 124 binding](http://jemalloc.net/jemalloc.3.html#thread.arena)
|
| H A D | ChangeLog | 174 - Implement optional per-CPU arena support; threads choose which arena to use 209 + arena.<i>.initialized 210 + arena.<i>.destroy 212 + arena.<i>.extent_hooks 318 + arena.<i>.lg_dirty_mult 319 + arena.<i>.decay_time 320 + arena.<i>.chunk_hooks 533 + arena.<i>.decay 534 + arena.<i>.decay_time 763 - Maintain dirty runs in per arena LRUs rather than in per arena trees of [all …]
|
| /f-stack/app/redis-5.0.5/deps/jemalloc/test/unit/ |
| H A D | mallctl.c | 725 unsigned narenas_before, arena, narenas_after; in TEST_BEGIN() local 730 assert_d_eq(mallctl("arenas.create", (void *)&arena, &sz, NULL, 0), 0, in TEST_BEGIN() 737 assert_u_eq(arena, narenas_after-1, "Unexpected arena index"); in TEST_BEGIN() 742 unsigned arena, arena1; in TEST_BEGIN() local 746 assert_d_eq(mallctl("arenas.create", (void *)&arena, &sz, NULL, 0), 0, in TEST_BEGIN() 748 ptr = mallocx(42, MALLOCX_ARENA(arena) | MALLOCX_TCACHE_NONE); in TEST_BEGIN() 752 assert_u_eq(arena, arena1, "Unexpected arena index"); in TEST_BEGIN()
|