#include <umem_impl.h>
#include "misc.h"
Go to the source code of this file.
◆ PAGESIZE
◆ UMEM_REAP_ACTIVE
| #define UMEM_REAP_ACTIVE 0x00000002 /* update thread is reaping */ |
◆ UMEM_REAP_ADDING
| #define UMEM_REAP_ADDING 0x00000001 /* umem_reap() is active */ |
◆ UMEM_REAP_DONE
| #define UMEM_REAP_DONE 0x00000000 /* inactive */ |
◆ _umem_alloc()
| void * _umem_alloc |
( |
size_t | size, |
|
|
int | umflags ) |
|
extern |
References _umem_cache_alloc(), ASSERT, umem_cache::cache_flags, UMEM_ALIGN_SHIFT, UMEM_BUFTAG, umem_failure_log, umem_init(), UMEM_REDZONE_BYTE, UMEM_SIZE_ENCODE, UMEM_VMFLAGS, UMF_BUFTAG, and vmem_alloc().
Referenced by _umem_zalloc(), and malloc().
◆ _umem_cache_alloc()
| void * _umem_cache_alloc |
( |
umem_cache_t * | cache, |
|
|
int | flags ) |
|
extern |
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, UMEM_DEFAULT, umem_null_cache, and UMF_BUFTAG.
Referenced by _umem_alloc(), _umem_cache_free(), _umem_zalloc(), and vmem_alloc().
◆ _umem_cache_free()
| void _umem_cache_free |
( |
umem_cache_t * | cache, |
|
|
void * | buffer ) |
|
extern |
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, UMEM_DEFAULT, and UMF_BUFTAG.
Referenced by _umem_cache_free(), _umem_free(), and vmem_free().
◆ _umem_free()
| void _umem_free |
( |
void * | buf, |
|
|
size_t | size ) |
|
extern |
References _umem_cache_free(), umem_buftag::bt_redzone, umem_cache::cache_flags, UMEM_ALIGN_SHIFT, UMEM_BUFTAG, UMEM_FREE_PATTERN, UMEM_REDZONE_BYTE, UMEM_REDZONE_PATTERN, UMEM_SIZE_ENCODE, UMEM_SIZE_VALID, UMERR_BADSIZE, UMERR_DUPFREE, UMERR_REDZONE, UMF_BUFTAG, and vmem_free().
◆ _umem_zalloc()
| void * _umem_zalloc |
( |
size_t | size, |
|
|
int | umflags ) |
|
extern |
◆ umem_cache_applyall()
◆ umem_cache_update()
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, UMF_HASH, UMU_HASH_RESCALE, and UMU_MAGAZINE_RESIZE.
◆ umem_create_update_thread()
| int umem_create_update_thread |
( |
void | | ) |
|
|
extern |
◆ umem_forkhandler_init()
| void umem_forkhandler_init |
( |
void | | ) |
|
|
extern |
◆ umem_get_max_ncpus()
| int umem_get_max_ncpus |
( |
void | | ) |
|
|
extern |
◆ umem_init()
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, umem_content_log_size, UMEM_CPU_CACHE_SIZE, umem_failure_log, 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_max_ncpus, umem_maxverify, umem_memalign_arena, 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, umem_slab_log_size, umem_transaction_log, 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().
◆ umem_process_envvars()
| void umem_process_envvars |
( |
void | | ) |
|
◆ umem_process_updates()
| void umem_process_updates |
( |
void | | ) |
|
|
extern |
References ASSERT, umem_cache::cache_uflags, umem_cache::cache_unext, umem_cache::cache_uprev, cond_broadcast, MUTEX_HELD, mutex_lock, mutex_unlock, umem_null_cache, umem_update_cv, umem_update_lock, UMU_ACTIVE, UMU_HASH_RESCALE, UMU_MAGAZINE_RESIZE, UMU_NOTIFY, and UMU_REAP.
◆ umem_setup_envvars()
| void umem_setup_envvars |
( |
int | invalid | ) |
|
◆ umem_type_init()
| void umem_type_init |
( |
caddr_t | start, |
|
|
size_t | len, |
|
|
size_t | pgsize ) |
|
extern |
◆ pagesize
◆ umem_abort
◆ umem_cache_lock
◆ umem_content_log
◆ umem_content_log_size
| size_t umem_content_log_size |
|
extern |
◆ umem_content_maxsave
| size_t umem_content_maxsave |
|
extern |
◆ umem_depot_contention
| uint32_t umem_depot_contention |
|
extern |
◆ umem_failure_log
◆ umem_failure_log_size
| size_t umem_failure_log_size |
|
extern |
◆ umem_flags
◆ umem_flags_lock
◆ umem_init_lock
◆ umem_init_thr
◆ umem_lite_maxalign
| size_t umem_lite_maxalign |
|
extern |
◆ umem_lite_minsize
◆ umem_logging
◆ umem_max_ncpus
◆ umem_maxverify
◆ umem_memalign_arena
◆ umem_minfirewall
◆ umem_mtbf
◆ umem_null_cache
◆ umem_output
◆ umem_ready
◆ umem_reap_interval
| uint32_t umem_reap_interval |
|
extern |
◆ umem_reap_next
◆ umem_reaping
| volatile uint32_t umem_reaping |
|
extern |
◆ umem_slab_log
◆ umem_slab_log_size
| size_t umem_slab_log_size |
|
extern |
◆ umem_st_update_thr
◆ umem_stack_depth
| uint32_t umem_stack_depth |
|
extern |
◆ umem_transaction_log
◆ umem_transaction_log_size
| size_t umem_transaction_log_size |
|
extern |
◆ umem_update_cv
◆ umem_update_interval
| uint32_t umem_update_interval |
|
extern |
◆ umem_update_lock
◆ umem_update_next
| struct timeval umem_update_next |
|
extern |
◆ umem_update_thr