ARGOBOTS  1.1
Functions
mem_pool.c File Reference
#include "abti.h"
#include <stddef.h>
Include dependency graph for mem_pool.c:

Go to the source code of this file.

Functions

static ABTI_mem_pool_pagemem_pool_lifo_elem_to_page (ABTI_sync_lifo_element *lifo_elem)
 
static ABTI_mem_pool_headermem_pool_lifo_elem_to_header (ABTI_sync_lifo_element *lifo_elem)
 
static void mem_pool_return_partial_bucket (ABTI_mem_pool_global_pool *p_global_pool, ABTI_mem_pool_header *bucket)
 
void ABTI_mem_pool_init_global_pool (ABTI_mem_pool_global_pool *p_global_pool, size_t num_headers_per_bucket, size_t header_size, size_t header_offset, size_t page_size, const ABTU_MEM_LARGEPAGE_TYPE *lp_type_requests, uint32_t num_lp_type_requests, size_t alignment_hint)
 
void ABTI_mem_pool_destroy_global_pool (ABTI_mem_pool_global_pool *p_global_pool)
 
ABTU_ret_err int 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)
 
ABTU_ret_err 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)
 

Function Documentation

◆ ABTI_mem_pool_destroy_global_pool()

void ABTI_mem_pool_destroy_global_pool ( ABTI_mem_pool_global_pool p_global_pool)

Definition at line 105 of file mem_pool.c.

◆ ABTI_mem_pool_destroy_local_pool()

void ABTI_mem_pool_destroy_local_pool ( ABTI_mem_pool_local_pool p_local_pool)

Definition at line 144 of file mem_pool.c.

◆ ABTI_mem_pool_init_global_pool()

void ABTI_mem_pool_init_global_pool ( ABTI_mem_pool_global_pool p_global_pool,
size_t  num_headers_per_bucket,
size_t  header_size,
size_t  header_offset,
size_t  page_size,
const ABTU_MEM_LARGEPAGE_TYPE lp_type_requests,
uint32_t  num_lp_type_requests,
size_t  alignment_hint 
)

Definition at line 77 of file mem_pool.c.

◆ ABTI_mem_pool_init_local_pool()

ABTU_ret_err int 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 129 of file mem_pool.c.

◆ ABTI_mem_pool_return_bucket()

void ABTI_mem_pool_return_bucket ( ABTI_mem_pool_global_pool p_global_pool,
ABTI_mem_pool_header bucket 
)

◆ ABTI_mem_pool_take_bucket()

ABTU_ret_err int ABTI_mem_pool_take_bucket ( ABTI_mem_pool_global_pool p_global_pool,
ABTI_mem_pool_header **  p_bucket 
)

Definition at line 165 of file mem_pool.c.

Referenced by ABTI_mem_pool_alloc(), and ABTI_mem_pool_init_local_pool().

◆ mem_pool_lifo_elem_to_header()

static ABTI_mem_pool_header* mem_pool_lifo_elem_to_header ( ABTI_sync_lifo_element lifo_elem)
inlinestatic

Definition at line 17 of file mem_pool.c.

Referenced by ABTI_mem_pool_take_bucket().

◆ mem_pool_lifo_elem_to_page()

static ABTI_mem_pool_page* mem_pool_lifo_elem_to_page ( ABTI_sync_lifo_element lifo_elem)
inlinestatic

Definition at line 10 of file mem_pool.c.

Referenced by ABTI_mem_pool_destroy_global_pool(), and ABTI_mem_pool_take_bucket().

◆ mem_pool_return_partial_bucket()

static void mem_pool_return_partial_bucket ( ABTI_mem_pool_global_pool p_global_pool,
ABTI_mem_pool_header bucket 
)
static

Definition at line 27 of file mem_pool.c.

Referenced by ABTI_mem_pool_destroy_local_pool(), and ABTI_mem_pool_take_bucket().