ARGOBOTS  4dc37e16e1b227a480715ab67dae1dcfb4d2d4e0
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 ABTU_ret_err int protect_memory (void *addr, size_t size, size_t page_size, ABT_bool protect, ABT_bool adjust_size)
 
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, ABTI_mem_pool_global_pool_mprotect_config *p_mprotect_config)
 
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 142 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 201 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,
ABTI_mem_pool_global_pool_mprotect_config p_mprotect_config 
)

Definition at line 89 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 186 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 222 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 39 of file mem_pool.c.

Referenced by ABTI_mem_pool_destroy_local_pool(), and ABTI_mem_pool_take_bucket().

◆ protect_memory()

static ABTU_ret_err int protect_memory ( void *  addr,
size_t  size,
size_t  page_size,
ABT_bool  protect,
ABT_bool  adjust_size 
)
static

Definition at line 26 of file mem_pool.c.

Referenced by ABTI_mem_pool_destroy_global_pool(), and ABTI_mem_pool_take_bucket().