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

Function extents_init

deps/jemalloc/src/extent.c:285–301  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

283ph_gen(, extent_heap_, extent_heap_t, extent_t, ph_link, extent_snad_comp)
284
285bool
286extents_init(tsdn_t *tsdn, extents_t *extents, extent_state_t state,
287 bool delay_coalesce) {
288 if (malloc_mutex_init(&extents->mtx, "extents", WITNESS_RANK_EXTENTS,
289 malloc_mutex_rank_exclusive)) {
290 return true;
291 }
292 for (unsigned i = 0; i < SC_NPSIZES + 1; i++) {
293 extent_heap_new(&extents->heaps[i]);
294 }
295 bitmap_init(extents->bitmap, &extents_bitmap_info, true);
296 extent_list_init(&extents->lru);
297 atomic_store_zu(&extents->npages, 0, ATOMIC_RELAXED);
298 extents->state = state;
299 extents->delay_coalesce = delay_coalesce;
300 return false;
301}
302
303extent_state_t
304extents_state_get(const extents_t *extents) {

Callers 1

arena_newFunction · 0.70

Calls 3

malloc_mutex_initFunction · 0.70
bitmap_initFunction · 0.70
extent_list_initFunction · 0.50

Tested by

no test coverage detected