MCPcopy Create free account
hub / github.com/Snapchat/KeyDB / extent_alloc

Function extent_alloc

deps/memkind/src/jemalloc/src/extent.c:174–185  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

172}
173
174extent_t *
175extent_alloc(tsdn_t *tsdn, arena_t *arena) {
176 malloc_mutex_lock(tsdn, &arena->extent_avail_mtx);
177 extent_t *extent = extent_avail_first(&arena->extent_avail);
178 if (extent == NULL) {
179 malloc_mutex_unlock(tsdn, &arena->extent_avail_mtx);
180 return base_alloc_extent(tsdn, arena->base);
181 }
182 extent_avail_remove(&arena->extent_avail, extent);
183 malloc_mutex_unlock(tsdn, &arena->extent_avail_mtx);
184 return extent;
185}
186
187void
188extent_dalloc(tsdn_t *tsdn, arena_t *arena, extent_t *extent) {

Callers 4

extent_grow_retainedFunction · 0.70
extent_split_implFunction · 0.70
extent_alloc_dssFunction · 0.70

Calls 3

base_alloc_extentFunction · 0.70
malloc_mutex_lockFunction · 0.50
malloc_mutex_unlockFunction · 0.50

Tested by

no test coverage detected