Home
last modified time | relevance | path

Searched refs:arena (Results 1 – 25 of 41) sorted by relevance

12

/freebsd-12-stable/contrib/jemalloc/src/
Darena.c51 static void arena_decay_to_limit(tsdn_t *tsdn, arena_t *arena,
54 static bool arena_decay_dirty(tsdn_t *tsdn, arena_t *arena,
56 static void arena_dalloc_bin_slab(tsdn_t *tsdn, arena_t *arena, extent_t *slab,
58 static void arena_bin_lower_slab(tsdn_t *tsdn, arena_t *arena, extent_t *slab,
64 arena_basic_stats_merge(UNUSED tsdn_t *tsdn, arena_t *arena, unsigned *nthreads, in arena_basic_stats_merge() argument
67 *nthreads += arena_nthreads_get(arena, false); in arena_basic_stats_merge()
68 *dss = dss_prec_names[arena_dss_prec_get(arena)]; in arena_basic_stats_merge()
69 *dirty_decay_ms = arena_dirty_decay_ms_get(arena); in arena_basic_stats_merge()
70 *muzzy_decay_ms = arena_muzzy_decay_ms_get(arena); in arena_basic_stats_merge()
71 *nactive += atomic_load_zu(&arena->nactive, ATOMIC_RELAXED); in arena_basic_stats_merge()
[all …]
Dlarge.c14 large_malloc(tsdn_t *tsdn, arena_t *arena, size_t usize, bool zero) { in large_malloc() argument
17 return large_palloc(tsdn, arena, usize, CACHELINE, zero); in large_malloc()
21 large_palloc(tsdn_t *tsdn, arena_t *arena, size_t usize, size_t alignment, in large_palloc() argument
28 assert(!tsdn_null(tsdn) || arena != NULL); in large_palloc()
45 arena = arena_choose(tsdn_tsd(tsdn), arena); in large_palloc()
47 if (unlikely(arena == NULL) || (extent = arena_extent_alloc_large(tsdn, in large_palloc()
48 arena, usize, alignment, &is_zeroed)) == NULL) { 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()
[all …]
Dextent.c34 static bool extent_commit_impl(tsdn_t *tsdn, arena_t *arena,
43 static bool extent_purge_lazy_impl(tsdn_t *tsdn, arena_t *arena,
50 static bool extent_purge_forced_impl(tsdn_t *tsdn, arena_t *arena,
58 static extent_t *extent_split_impl(tsdn_t *tsdn, arena_t *arena,
67 static bool extent_merge_impl(tsdn_t *tsdn, arena_t *arena,
109 static extent_t *extent_recycle(tsdn_t *tsdn, arena_t *arena,
113 static extent_t *extent_try_coalesce(tsdn_t *tsdn, arena_t *arena,
116 static void extent_record(tsdn_t *tsdn, arena_t *arena,
177 extent_alloc(tsdn_t *tsdn, arena_t *arena) { in extent_alloc() argument
178 malloc_mutex_lock(tsdn, &arena->extent_avail_mtx); in extent_alloc()
[all …]
Dtcache.c88 tcache_alloc_small_hard(tsdn_t *tsdn, arena_t *arena, tcache_t *tcache, in tcache_alloc_small_hard() argument
92 assert(tcache->arena != NULL); in tcache_alloc_small_hard()
93 arena_tcache_fill_small(tsdn, arena, tcache, tbin, binind, in tcache_alloc_small_hard()
111 arena_t *arena = tcache->arena; in tcache_bin_flush_small() local
112 assert(arena != NULL); in tcache_bin_flush_small()
126 if (config_prof && bin_arena == arena) { in tcache_bin_flush_small()
127 if (arena_prof_accum(tsd_tsdn(tsd), arena, in tcache_bin_flush_small()
135 if (config_stats && bin_arena == arena) { in tcache_bin_flush_small()
172 bin_t *bin = &arena->bins[binind]; in tcache_bin_flush_small()
196 arena_t *arena = tcache->arena; in tcache_bin_flush_large() local
[all …]
Dextent_dss.c110 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()
Djemalloc.c295 arena_set(unsigned ind, arena_t *arena) { in arena_set() argument
296 atomic_store_p(&arenas[ind], arena, ATOMIC_RELEASE); in arena_set()
317 arena_t *arena; in arena_init_locked() local
331 arena = arena_get(tsdn, ind, false); in arena_init_locked()
332 if (arena != NULL) { in arena_init_locked()
334 return arena; in arena_init_locked()
338 arena = arena_new(tsdn, ind, extent_hooks); in arena_init_locked()
340 return arena; in arena_init_locked()
363 arena_t *arena; in arena_init() local
366 arena = arena_init_locked(tsdn, ind, extent_hooks); in arena_init()
[all …]
Dctl.c548 {NAME("arena"), CHILD(indexed, arena)},
707 ctl_arena_stats_amerge(tsdn_t *tsdn, ctl_arena_t *ctl_arena, arena_t *arena) { in ctl_arena_stats_amerge() argument
711 arena_stats_merge(tsdn, arena, &ctl_arena->nthreads, in ctl_arena_stats_amerge()
730 arena_basic_stats_merge(tsdn, arena, &ctl_arena->nthreads, in ctl_arena_stats_amerge()
874 ctl_arena_refresh(tsdn_t *tsdn, arena_t *arena, ctl_arena_t *ctl_sdarena, in ctl_arena_refresh() argument
879 ctl_arena_stats_amerge(tsdn, ctl_arena, arena); in ctl_arena_refresh()
2023 arena_t **arena) { in arena_i_reset_destroy_helper() argument
2030 *arena = arena_get(tsd_tsdn(tsd), *arena_ind, false); in arena_i_reset_destroy_helper()
2031 if (*arena == NULL || arena_is_auto(*arena)) { in arena_i_reset_destroy_helper()
2079 arena_t *arena; in arena_i_reset_ctl() local
[all …]
Dbackground_thread.c59 void background_thread_interval_check(tsdn_t *tsdn, arena_t *arena, in background_thread_create()
204 arena_decay_compute_purge_interval(tsdn_t *tsdn, arena_t *arena) {
206 i1 = arena_decay_compute_purge_interval_impl(tsdn, &arena->decay_dirty,
207 &arena->extents_dirty);
211 i2 = arena_decay_compute_purge_interval_impl(tsdn, &arena->decay_muzzy,
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);
[all …]
/freebsd-12-stable/contrib/jemalloc/include/jemalloc/internal/
Darena_externs.h19 void arena_basic_stats_merge(tsdn_t *tsdn, arena_t *arena,
22 void arena_stats_merge(tsdn_t *tsdn, arena_t *arena, unsigned *nthreads,
26 void arena_extents_dirty_dalloc(tsdn_t *tsdn, arena_t *arena,
31 extent_t *arena_extent_alloc_large(tsdn_t *tsdn, arena_t *arena,
33 void arena_extent_dalloc_large_prep(tsdn_t *tsdn, arena_t *arena,
35 void arena_extent_ralloc_large_shrink(tsdn_t *tsdn, arena_t *arena,
37 void arena_extent_ralloc_large_expand(tsdn_t *tsdn, arena_t *arena,
39 ssize_t arena_dirty_decay_ms_get(arena_t *arena);
40 bool arena_dirty_decay_ms_set(tsdn_t *tsdn, arena_t *arena, ssize_t decay_ms);
41 ssize_t arena_muzzy_decay_ms_get(arena_t *arena);
[all …]
Dextent_externs.h15 extent_t *extent_alloc(tsdn_t *tsdn, arena_t *arena);
16 void extent_dalloc(tsdn_t *tsdn, arena_t *arena, extent_t *extent);
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,
45 extent_t *extent_alloc_wrapper(tsdn_t *tsdn, arena_t *arena,
48 void extent_dalloc_gap(tsdn_t *tsdn, arena_t *arena, extent_t *extent);
49 void extent_dalloc_wrapper(tsdn_t *tsdn, arena_t *arena,
[all …]
Djemalloc_internal_inlines_b.h8 arena_choose_impl(tsd_t *tsd, arena_t *arena, bool internal) { in arena_choose_impl() argument
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()
[all …]
Darena_inlines_a.h5 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()
Djemalloc_internal_inlines_c.h42 bool is_internal, arena_t *arena, bool slow_path) { in iallocztm() argument
47 assert(!is_internal || arena == NULL || arena_is_auto(arena)); in iallocztm()
53 ret = arena_malloc(tsdn, arena, size, ind, zero, tcache, slow_path); 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()
78 ret = arena_palloc(tsdn, arena, usize, alignment, zero, tcache); in ipallocztm()
88 tcache_t *tcache, arena_t *arena) { in ipalloct() argument
89 return ipallocztm(tsdn, usize, alignment, zero, tcache, false, arena); in ipalloct()
137 arena_t *arena) { in iralloct_realign() argument
147 p = ipalloct(tsdn, usize, alignment, zero, tcache, arena); in iralloct_realign()
[all …]
Dbackground_thread_inlines.h16 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()
Dtcache_inlines.h42 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()
Darena_inlines_b.h61 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 …]
Dtcache_externs.h32 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);
Dlarge_externs.h4 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,
Djemalloc_internal_inlines_a.h130 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()
Dextent_inlines.h180 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()
/freebsd-12-stable/crypto/openssl/crypto/
Dmem_sec.c269 ((char*)(p) >= sh.arena && (char*)(p) < &sh.arena[sh.arena_size])
284 char *arena; member
299 size_t bit = (sh.arena_size + ptr - sh.arena) / sh.minsize; in sh_getlist()
316 OPENSSL_assert(((ptr - sh.arena) & ((sh.arena_size >> list) - 1)) == 0); in sh_testbit()
317 bit = (ONE << list) + ((ptr - sh.arena) / (sh.arena_size >> list)); in sh_testbit()
327 OPENSSL_assert(((ptr - sh.arena) & ((sh.arena_size >> list) - 1)) == 0); in sh_clearbit()
328 bit = (ONE << list) + ((ptr - sh.arena) / (sh.arena_size >> list)); in sh_clearbit()
339 OPENSSL_assert(((ptr - sh.arena) & ((sh.arena_size >> list) - 1)) == 0); in sh_setbit()
340 bit = (ONE << list) + ((ptr - sh.arena) / (sh.arena_size >> list)); in sh_setbit()
465 sh.arena = (char *)(sh.map_result + pgsize); in sh_init()
[all …]
/freebsd-12-stable/sys/vm/
Dvm_kern.c404 vmem_t *arena; in kmem_malloc_domain() local
409 arena = vm_dom[domain].vmd_kernel_arena; in kmem_malloc_domain()
411 arena = vm_dom[domain].vmd_kernel_rwx_arena; in kmem_malloc_domain()
413 if (vmem_alloc(arena, size, flags | M_BESTFIT, &addr)) in kmem_malloc_domain()
418 vmem_free(arena, addr, size); in kmem_malloc_domain()
562 struct vmem *arena; in _kmem_unback() local
579 arena = vm_dom[domain].vmd_kernel_arena; in _kmem_unback()
581 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
[all …]
/freebsd-12-stable/contrib/jemalloc/
DChangeLog26 - Allow arena index lookup based on allocation addresses via mallctl.
35 + arena.<i>.retain_grow_limit (@interwq)
79 - Refactor arena / tcache interactions. (@davidtgoldblatt)
146 arena.<i>.extent_hooks mallctl is used to override the default hooks.
150 - Post-fork(2), re-initialize the list of tcaches associated with each arena
174 - Implement optional per-CPU arena support; threads choose which arena to use
175 based on current CPU rather than on fixed thread-->arena associations.
188 - Support manually created arena destruction, such that all data and metadata
192 merged/destroyed arena statistics via mallctl. (@jasone)
209 + arena.<i>.initialized
[all …]
/freebsd-12-stable/contrib/unbound/validator/
Dval_secalgo.c1041 PLArenaPool* arena = PORT_NewArena(DER_DEFAULT_CHUNKSIZE); in nss_key_create() local
1042 if(!arena) { in nss_key_create()
1046 key = PORT_ArenaZNew(arena, SECKEYPublicKey); in nss_key_create()
1049 PORT_FreeArena(arena, PR_FALSE); in nss_key_create()
1052 key->arena = arena; in nss_key_create()
1101 if(SECITEM_CopyItem(pk->arena, &pk->u.ec.publicValue, &pub)) { in nss_buf2ecdsa()
1105 if(SECITEM_CopyItem(pk->arena, &pk->u.ec.DEREncodedParams, &params)) { in nss_buf2ecdsa()
1156 if(SECITEM_CopyItem(pk->arena, &pk->u.dsa.params.prime, &P)) { in nss_buf2dsa()
1160 if(SECITEM_CopyItem(pk->arena, &pk->u.dsa.params.subPrime, &Q)) { in nss_buf2dsa()
1164 if(SECITEM_CopyItem(pk->arena, &pk->u.dsa.params.base, &G)) { in nss_buf2dsa()
[all …]
/freebsd-12-stable/sys/contrib/octeon-sdk/cvmx-malloc/
Darena.c82 #define set_arena_for_chunk(ptr, arena) (ptr)->arena_ptr = (arena) argument

12