Refactor base_alloc() to guarantee demand-zeroed memory.
Refactor base_alloc() to guarantee that allocations are carved from demand-zeroed virtual memory. This supports sparse data structures such as multi-page radix tree nodes. Enhance base_alloc() to keep track of fragments which were too small to support previous allocation requests, and try to consume them during subsequent requests. This becomes important when request sizes commonly approach or exceed the chunk size (as could radix tree node allocations).
This commit is contained in:
@@ -10,7 +10,6 @@
|
||||
#ifdef JEMALLOC_H_EXTERNS
|
||||
|
||||
void *base_alloc(size_t size);
|
||||
void *base_calloc(size_t number, size_t size);
|
||||
extent_node_t *base_node_alloc(void);
|
||||
void base_node_dalloc(extent_node_t *node);
|
||||
size_t base_allocated_get(void);
|
||||
|
@@ -103,7 +103,6 @@ atomic_sub_z
|
||||
base_alloc
|
||||
base_allocated_get
|
||||
base_boot
|
||||
base_calloc
|
||||
base_node_alloc
|
||||
base_node_dalloc
|
||||
base_postfork_child
|
||||
|
Reference in New Issue
Block a user