ARGOBOTS  7496202f85916e93d6d143320764c2aba5026d93
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
Data Structures | Macros | Typedefs | Functions
abti_mem_pool.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

union  ABTI_mem_pool_header_bucket_info
 
struct  ABTI_mem_pool_header
 
struct  ABTI_mem_pool_page
 
struct  ABTI_mem_pool_global_pool
 
struct  ABTI_mem_pool_local_pool
 

Macros

#define ABT_MEM_POOL_MAX_LOCAL_BUCKETS   2
 
#define ABT_MEM_POOL_NUM_RETURN_BUCKETS   1
 
#define ABT_MEM_POOL_NUM_TAKE_BUCKETS   1
 

Typedefs

typedef union
ABTI_mem_pool_header_bucket_info 
ABTI_mem_pool_header_bucket_info
 
typedef struct ABTI_mem_pool_header ABTI_mem_pool_header
 
typedef struct ABTI_mem_pool_page ABTI_mem_pool_page
 
typedef struct
ABTI_mem_pool_global_pool 
ABTI_mem_pool_global_pool
 
typedef struct
ABTI_mem_pool_local_pool 
ABTI_mem_pool_local_pool
 

Functions

void ABTI_mem_pool_init_global_pool (ABTI_mem_pool_global_pool *p_global_pool, int num_headers_per_bucket, size_t header_size, size_t header_offset, size_t page_size, const ABTU_MEM_LARGEPAGE_TYPE *lp_type_requests, int num_lp_type_requests, size_t alignment_hint)
 
void ABTI_mem_pool_destroy_global_pool (ABTI_mem_pool_global_pool *p_global_pool)
 
void ABTI_mem_pool_init_local_pool (ABTI_mem_pool_local_pool *p_local_pool, ABTI_mem_pool_global_pool *p_global_pool)
 
void ABTI_mem_pool_destroy_local_pool (ABTI_mem_pool_local_pool *p_local_pool)
 
int ABTI_mem_pool_take_bucket (ABTI_mem_pool_global_pool *p_global_pool, ABTI_mem_pool_header **p_bucket)
 
void ABTI_mem_pool_return_bucket (ABTI_mem_pool_global_pool *p_global_pool, ABTI_mem_pool_header *bucket)
 
static ABTU_ret_err int ABTI_mem_pool_alloc (ABTI_mem_pool_local_pool *p_local_pool, void **p_mem)
 
static void ABTI_mem_pool_free (ABTI_mem_pool_local_pool *p_local_pool, void *mem)
 

Macro Definition Documentation

#define ABT_MEM_POOL_MAX_LOCAL_BUCKETS   2

Definition at line 9 of file abti_mem_pool.h.

Referenced by ABTD_env_init(), and ABTI_mem_pool_free().

#define ABT_MEM_POOL_NUM_RETURN_BUCKETS   1

Definition at line 10 of file abti_mem_pool.h.

Referenced by ABTI_mem_pool_free().

#define ABT_MEM_POOL_NUM_TAKE_BUCKETS   1

Definition at line 11 of file abti_mem_pool.h.

Referenced by ABTI_mem_pool_alloc().

Typedef Documentation

Function Documentation

static ABTU_ret_err int ABTI_mem_pool_alloc ( ABTI_mem_pool_local_pool p_local_pool,
void **  p_mem 
)
inlinestatic

Definition at line 114 of file abti_mem_pool.h.

Referenced by ABTI_mem_alloc_desc().

void ABTI_mem_pool_destroy_global_pool ( ABTI_mem_pool_global_pool p_global_pool)

Definition at line 105 of file mem_pool.c.

void ABTI_mem_pool_destroy_local_pool ( ABTI_mem_pool_local_pool p_local_pool)

Definition at line 142 of file mem_pool.c.

static void ABTI_mem_pool_free ( ABTI_mem_pool_local_pool p_local_pool,
void *  mem 
)
inlinestatic
void ABTI_mem_pool_init_global_pool ( ABTI_mem_pool_global_pool p_global_pool,
int  num_headers_per_bucket,
size_t  header_size,
size_t  header_offset,
size_t  page_size,
const ABTU_MEM_LARGEPAGE_TYPE lp_type_requests,
int  num_lp_type_requests,
size_t  alignment_hint 
)

Definition at line 77 of file mem_pool.c.

void ABTI_mem_pool_init_local_pool ( ABTI_mem_pool_local_pool p_local_pool,
ABTI_mem_pool_global_pool p_global_pool 
)

Definition at line 128 of file mem_pool.c.

void ABTI_mem_pool_return_bucket ( ABTI_mem_pool_global_pool p_global_pool,
ABTI_mem_pool_header bucket 
)
int ABTI_mem_pool_take_bucket ( ABTI_mem_pool_global_pool p_global_pool,
ABTI_mem_pool_header **  p_bucket 
)

Definition at line 163 of file mem_pool.c.

Referenced by ABTI_mem_pool_alloc(), and ABTI_mem_pool_init_local_pool().