#include <umem_impl.h>
#include "misc.h"
Go to the source code of this file.
#define PAGESIZE pagesize |
#define UMEM_REAP_ACTIVE 0x00000002 |
Referenced by umem_reap().
#define UMEM_REAP_ADDING 0x00000001 |
Referenced by umem_reap().
#define UMEM_REAP_DONE 0x00000000 |
Referenced by umem_reap().
void* _umem_alloc | ( | size_t | size, | |
int | umflags | |||
) |
References _umem_cache_alloc(), ASSERT, umem_cache::cache_flags, UMEM_ALIGN_SHIFT, UMEM_BUFTAG, umem_init(), UMEM_REDZONE_BYTE, UMEM_SIZE_ENCODE, UMEM_VMFLAGS, and vmem_alloc().
Referenced by _umem_zalloc(), and malloc().
void* _umem_cache_alloc | ( | umem_cache_t * | cache, | |
int | flags | |||
) |
References atomic_add_64, umem_cache::cache_alloc_fail, umem_cache::cache_constructor, umem_cache::cache_cpu_mask, umem_cache::cache_empty, umem_cache::cache_flags, umem_cache::cache_full, umem_cache::cache_private, umem_cpu_cache::cc_alloc, umem_cpu_cache::cc_flags, umem_cpu_cache::cc_loaded, umem_cpu_cache::cc_lock, umem_cpu_cache::cc_magsize, umem_cpu_cache::cc_ploaded, umem_cpu_cache::cc_prounds, umem_cpu_cache::cc_rounds, CPU, umem_magazine::mag_round, mutex_lock, mutex_unlock, UMEM_CPU_CACHE, and UMEM_DEFAULT.
Referenced by _umem_alloc(), _umem_cache_free(), _umem_zalloc(), and vmem_alloc().
void _umem_cache_free | ( | umem_cache_t * | cache, | |
void * | buffer | |||
) |
References _umem_cache_alloc(), _umem_cache_free(), umem_cache::cache_cpu_mask, umem_cache::cache_destructor, umem_cache::cache_empty, umem_cache::cache_flags, umem_cache::cache_full, umem_cache::cache_magtype, umem_cache::cache_private, umem_cpu_cache::cc_flags, umem_cpu_cache::cc_free, umem_cpu_cache::cc_loaded, umem_cpu_cache::cc_lock, umem_cpu_cache::cc_magsize, umem_cpu_cache::cc_ploaded, umem_cpu_cache::cc_prounds, umem_cpu_cache::cc_rounds, CPU, umem_magazine::mag_round, umem_magtype::mt_cache, umem_magtype::mt_magsize, mutex_lock, mutex_unlock, UMEM_CPU_CACHE, and UMEM_DEFAULT.
Referenced by _umem_cache_free(), _umem_free(), and vmem_free().
void _umem_free | ( | void * | buf, | |
size_t | size | |||
) |
void* _umem_zalloc | ( | size_t | size, | |
int | umflags | |||
) |
void umem_cache_applyall | ( | void(*)(umem_cache_t *) | ) |
References umem_cache::cache_next, mutex_lock, mutex_unlock, and umem_cache_lock.
Referenced by umem_init().
void umem_cache_update | ( | umem_cache_t * | ) |
References ASSERT, umem_cache::cache_buftotal, umem_cache::cache_chunksize, umem_cache::cache_depot_contention, umem_cache::cache_depot_contention_prev, umem_cache::cache_depot_lock, umem_cache::cache_flags, umem_cache::cache_hash_mask, umem_cache::cache_lock, umem_cache::cache_magtype, umem_magtype::mt_maxbuf, MUTEX_HELD, mutex_lock, mutex_unlock, umem_cache_lock, umem_depot_contention, UMEM_HASH_INITIAL, UMU_HASH_RESCALE, and UMU_MAGAZINE_RESIZE.
int umem_create_update_thread | ( | void | ) |
References ASSERT, MUTEX_HELD, THR_BOUND, THR_DAEMON, THR_DETACHED, thr_sigsetmask, umem_update_lock, and umem_update_thr.
Referenced by umem_reap().
void umem_forkhandler_init | ( | void | ) |
Referenced by umem_startup().
int umem_get_max_ncpus | ( | void | ) |
Referenced by umem_init().
int umem_init | ( | void | ) |
References _cond_wait, ASSERT, cond_broadcast, umem_cpu::cpu_cache_offset, umem_cpu::cpu_number, CPUHINT_MAX, issetugid, log_message(), mutex_lock, mutex_unlock, NANOSEC, pagesize, thr_self, UMEM_ALIGN, umem_cache_applyall(), UMEM_CACHE_SIZE, umem_content_log_size, UMEM_CPU_CACHE_SIZE, umem_failure_log_size, umem_flags, umem_get_max_ncpus(), umem_init_cv, umem_init_env_ready, umem_init_lock, umem_init_thr, umem_logging, umem_maxverify, umem_minfirewall, umem_mtbf, umem_panic(), umem_process_envvars(), UMEM_READY, umem_ready, UMEM_READY_INIT_FAILED, UMEM_READY_INITING, UMEM_READY_STARTUP, umem_reap_next, umem_setup_envvars(), umem_slab_log_size, umem_transaction_log_size, umem_update_next, UMF_AUDIT, VM_NOSLEEP, vmem::vm_quantum, vmem_alloc(), vmem_create(), vmem_free(), vmem_heap_arena(), and vmem_no_debug().
Referenced by _umem_alloc(), _umem_alloc_align(), memalign(), umem_cache_create(), and vmem_heap_arena().
void umem_process_envvars | ( | void | ) |
References umem_envvar::env_func_result, umem_envvar::env_getenv_result, umem_envvar::env_item_list, umem_envvar::env_name, and umem_process_value().
Referenced by umem_init().
void umem_process_updates | ( | void | ) |
void umem_setup_envvars | ( | int | ) |
References umem_envvar::env_func, umem_envvar::env_func_result, umem_envvar::env_getenv_result, umem_envvar::env_name, log_message(), and RTLD_FIRST.
Referenced by umem_init().
void umem_type_init | ( | caddr_t | , | |
size_t | , | |||
size_t | ||||
) |
size_t pagesize |
uint32_t umem_abort |
Referenced by umem_cache_applyall(), umem_cache_create(), umem_cache_destroy(), and umem_cache_update().
size_t umem_content_log_size |
Referenced by umem_init().
size_t umem_content_maxsave |
Referenced by umem_cache_create().
uint32_t umem_depot_contention |
Referenced by umem_cache_update().
size_t umem_failure_log_size |
Referenced by umem_init().
uint32_t umem_flags |
Referenced by umem_cache_create(), and umem_init().
Referenced by umem_cache_create().
Referenced by umem_init().
Referenced by umem_cache_create(), umem_init(), and vmem_heap_arena().
size_t umem_lite_maxalign |
Referenced by umem_cache_create().
size_t umem_lite_minsize |
Referenced by umem_cache_create().
uint32_t umem_logging |
Referenced by umem_init().
uint32_t umem_max_ncpus |
size_t umem_maxverify |
Referenced by umem_cache_create(), and umem_init().
Referenced by memalign().
size_t umem_minfirewall |
Referenced by umem_cache_create(), and umem_init().
uint32_t umem_mtbf |
Referenced by umem_init().
uint32_t umem_output |
int umem_ready |
Referenced by umem_cache_create(), umem_init(), umem_reap(), umem_startup(), and vmem_heap_arena().
uint32_t umem_reap_interval |
volatile hrtime_t umem_reap_next |
Referenced by umem_init(), and umem_reap().
volatile uint32_t umem_reaping |
Referenced by umem_reap().
size_t umem_slab_log_size |
Referenced by umem_init().
volatile thread_t umem_st_update_thr |
Referenced by umem_reap().
uint32_t umem_stack_depth |
size_t umem_transaction_log_size |
Referenced by umem_init().
Referenced by umem_process_updates(), and umem_reap().
uint32_t umem_update_interval |
Referenced by umem_create_update_thread(), umem_process_updates(), and umem_reap().
struct timeval umem_update_next |
Referenced by umem_init().
Referenced by umem_create_update_thread(), and umem_reap().