umem  1.0.1
Macros | Functions | Variables
umem_base.h File Reference
#include <umem_impl.h>
#include "misc.h"

Go to the source code of this file.

Macros

#define PAGESIZE   pagesize
 
#define UMEM_REAP_DONE   0x00000000 /* inactive */
 
#define UMEM_REAP_ADDING   0x00000001 /* umem_reap() is active */
 
#define UMEM_REAP_ACTIVE   0x00000002 /* update thread is reaping */
 

Functions

int umem_init (void)
 
void * _umem_alloc (size_t size, int umflags)
 
void * _umem_zalloc (size_t size, int umflags)
 
void _umem_free (void *buf, size_t size)
 
void * _umem_cache_alloc (umem_cache_t *cache, int flags)
 
void _umem_cache_free (umem_cache_t *cache, void *buffer)
 
void umem_type_init (caddr_t, size_t, size_t)
 
int umem_get_max_ncpus (void)
 
void umem_process_updates (void)
 
void umem_cache_applyall (void(*)(umem_cache_t *))
 
void umem_cache_update (umem_cache_t *)
 
void umem_forkhandler_init (void)
 
int umem_create_update_thread (void)
 
void umem_setup_envvars (int)
 
void umem_process_envvars (void)
 

Variables

size_t pagesize
 
vmem_tumem_memalign_arena
 
int umem_ready
 
thread_t umem_init_thr
 
umem_log_header_tumem_transaction_log
 
umem_log_header_tumem_content_log
 
umem_log_header_tumem_failure_log
 
umem_log_header_tumem_slab_log
 
mutex_t umem_init_lock
 
mutex_t umem_cache_lock
 
umem_cache_t umem_null_cache
 
mutex_t umem_flags_lock
 
mutex_t umem_update_lock
 
cond_t umem_update_cv
 
volatile thread_t umem_st_update_thr
 
thread_t umem_update_thr
 
struct timeval umem_update_next
 
volatile hrtime_t umem_reap_next
 
volatile uint32_t umem_reaping
 
uint32_t umem_max_ncpus
 
uint32_t umem_stack_depth
 
uint32_t umem_reap_interval
 
uint32_t umem_update_interval
 
uint32_t umem_depot_contention
 
uint32_t umem_abort
 
uint32_t umem_output
 
uint32_t umem_logging
 
uint32_t umem_mtbf
 
size_t umem_transaction_log_size
 
size_t umem_content_log_size
 
size_t umem_failure_log_size
 
size_t umem_slab_log_size
 
size_t umem_content_maxsave
 
size_t umem_lite_minsize
 
size_t umem_lite_maxalign
 
size_t umem_maxverify
 
size_t umem_minfirewall
 
uint32_t umem_flags
 

Macro Definition Documentation

◆ PAGESIZE

#define PAGESIZE   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 */

Function Documentation

◆ _umem_alloc()

void* _umem_alloc ( size_t  size,
int  umflags 
)

References UMEM_ALIGN_SHIFT.

Referenced by malloc().

◆ _umem_cache_alloc()

void* _umem_cache_alloc ( umem_cache_t cache,
int  flags 
)

◆ _umem_cache_free()

void _umem_cache_free ( umem_cache_t cache,
void *  buffer 
)

◆ _umem_free()

void _umem_free ( void *  buf,
size_t  size 
)

References UMEM_ALIGN_SHIFT.

◆ _umem_zalloc()

void* _umem_zalloc ( size_t  size,
int  umflags 
)

References UMEM_ALIGN_SHIFT.

◆ umem_cache_applyall()

void umem_cache_applyall ( void(*)(umem_cache_t *)  )

◆ umem_cache_update()

void umem_cache_update ( umem_cache_t )

◆ umem_create_update_thread()

int umem_create_update_thread ( void  )

◆ umem_forkhandler_init()

void umem_forkhandler_init ( void  )

Referenced by umem_startup().

◆ umem_get_max_ncpus()

int umem_get_max_ncpus ( void  )

Referenced by umem_init().

◆ umem_init()

int umem_init ( void  )

◆ umem_process_envvars()

void umem_process_envvars ( void  )

Referenced by umem_init().

◆ umem_process_updates()

void umem_process_updates ( void  )

◆ umem_setup_envvars()

void umem_setup_envvars ( int  )

References log_message().

Referenced by umem_init().

◆ umem_type_init()

void umem_type_init ( caddr_t  ,
size_t  ,
size_t   
)

References _sysconf, and pagesize.

Variable Documentation

◆ pagesize

size_t pagesize

◆ umem_abort

uint32_t umem_abort

◆ umem_cache_lock

mutex_t umem_cache_lock

◆ umem_content_log

umem_log_header_t* umem_content_log

◆ umem_content_log_size

size_t umem_content_log_size

◆ umem_content_maxsave

size_t umem_content_maxsave

◆ umem_depot_contention

uint32_t umem_depot_contention

◆ umem_failure_log

umem_log_header_t* umem_failure_log

◆ umem_failure_log_size

size_t umem_failure_log_size

◆ umem_flags

uint32_t umem_flags

Referenced by umem_init().

◆ umem_flags_lock

mutex_t umem_flags_lock

◆ umem_init_lock

mutex_t umem_init_lock

Referenced by umem_init().

◆ umem_init_thr

thread_t umem_init_thr

◆ umem_lite_maxalign

size_t umem_lite_maxalign

◆ umem_lite_minsize

size_t umem_lite_minsize

◆ umem_logging

uint32_t umem_logging

◆ umem_max_ncpus

uint32_t umem_max_ncpus

Referenced by umem_cache_create(), and umem_init().

◆ umem_maxverify

size_t umem_maxverify

◆ umem_memalign_arena

vmem_t* umem_memalign_arena

◆ umem_minfirewall

size_t umem_minfirewall

◆ umem_mtbf

uint32_t umem_mtbf

Referenced by umem_init().

◆ umem_null_cache

umem_cache_t umem_null_cache

◆ umem_output

uint32_t umem_output

◆ umem_ready

int umem_ready

◆ umem_reap_interval

uint32_t umem_reap_interval

◆ umem_reap_next

volatile hrtime_t umem_reap_next

◆ umem_reaping

volatile uint32_t umem_reaping

◆ umem_slab_log

umem_log_header_t* umem_slab_log

◆ umem_slab_log_size

size_t umem_slab_log_size

◆ umem_st_update_thr

volatile thread_t umem_st_update_thr

◆ umem_stack_depth

uint32_t umem_stack_depth

◆ umem_transaction_log

umem_log_header_t* umem_transaction_log

◆ umem_transaction_log_size

size_t umem_transaction_log_size

◆ umem_update_cv

cond_t umem_update_cv

◆ umem_update_interval

uint32_t umem_update_interval

◆ umem_update_lock

mutex_t umem_update_lock

◆ umem_update_next

struct timeval umem_update_next

◆ umem_update_thr

thread_t umem_update_thr