27 #include "ompi_config.h"
29 #include "ompi/info/info.h"
30 #include "ompi/class/ompi_free_list.h"
33 #include "opal/mca/crs/base/base.h"
35 #define MCA_MPOOL_FLAGS_CACHE_BYPASS 0x1
36 #define MCA_MPOOL_FLAGS_PERSIST 0x2
37 #define MCA_MPOOL_FLAGS_MPI_ALLOC_MEM 0x4
38 #define MCA_MPOOL_FLAGS_INVALID 0x8
39 #define MCA_MPOOL_FLAGS_SO_MEM 0x10
40 #define MCA_MPOOL_FLAGS_CUDA_REGISTER_MEM 0x20
49 unsigned char* alloc_base;
67 typedef void* (*mca_mpool_base_module_alloc_fn_t)(
77 typedef void* (*mca_mpool_base_module_realloc_fn_t)(
241 OMPI_DECLSPEC
int mca_mpool_base_insert(
248 OMPI_DECLSPEC
int mca_mpool_base_remove(
void * base);
253 #define MCA_MPOOL_BASE_VERSION_2_0_0 \
254 MCA_BASE_VERSION_2_0_0, \
OMPI_DECLSPEC int mca_mpool_base_tree_node_compare(void *key1, void *key2)
Function for the red black tree to compare 2 keys.
Definition: mpool_base_tree.c:57
Common type for all MCA components.
Definition: mca.h:250
int(* mca_mpool_base_module_release_fn_t)(struct mca_mpool_base_module_t *mpool, mca_mpool_base_registration_t *registration)
release registration
Definition: mpool.h:120
rcache module descriptor
Definition: rcache.h:83
mca_base_component_t mpool_version
version
Definition: mpool.h:155
int(* mca_mpool_base_module_register_fn_t)(struct mca_mpool_base_module_t *mpool, void *addr, size_t size, uint32_t flags, mca_mpool_base_registration_t **registration)
register memory
Definition: mpool.h:94
struct mca_mpool_base_module_t *(* mca_mpool_base_component_init_fn_t)(struct mca_mpool_base_resources_t *)
component initialize
Definition: mpool.h:61
uint32_t flags
mpool flags
Definition: mpool.h:188
mpool component descriptor.
Definition: mpool.h:154
mca_mpool_base_module_find_fn_t mpool_find
find regisrations in the cache
Definition: mpool.h:182
mca_mpool_base_module_ft_event_fn_t mpool_ft_event
ft_event
Definition: mpool.h:186
Top-level interface for all MCA components.
void(* mca_mpool_base_module_finalize_fn_t)(struct mca_mpool_base_module_t *)
finalize
Definition: mpool.h:139
void *(* mca_mpool_base_module_address_fn_t)(struct mca_mpool_base_module_t *mpool)
if appropriate - returns base address of memory pool
Definition: mpool.h:134
mca_mpool_base_module_finalize_fn_t mpool_finalize
finalize
Definition: mpool.h:185
mca_mpool_base_module_release_memory_fn_t mpool_release_memory
release memor region from the cache
Definition: mpool.h:184
mca_mpool_base_module_free_fn_t mpool_free
free function
Definition: mpool.h:179
OMPI_DECLSPEC int mca_mpool_base_free(void *base)
Function to free memory previously allocated by mca_mpool_base_alloc.
Definition: mpool_base_alloc.c:275
mca_mpool_base_module_address_fn_t mpool_base
returns the base address
Definition: mpool.h:176
int(* mca_mpool_base_module_ft_event_fn_t)(int state)
Fault Tolerance Event Notification Function.
Definition: mpool.h:147
int(* mca_mpool_base_module_find_fn_t)(struct mca_mpool_base_module_t *mpool, void *addr, size_t size, mca_mpool_base_registration_t **reg)
find registration in this memory pool
Definition: mpool.h:112
int(* mca_mpool_base_module_deregister_fn_t)(struct mca_mpool_base_module_t *mpool, mca_mpool_base_registration_t *registration)
deregister memory
Definition: mpool.h:104
mca_mpool_base_module_register_fn_t mpool_register
register memory
Definition: mpool.h:180
mca_mpool_base_module_deregister_fn_t mpool_deregister
deregister memory
Definition: mpool.h:181
Definition: ompi_free_list.h:62
OMPI_DECLSPEC void * mca_mpool_base_alloc(size_t size, struct ompi_info_t *info)
Function to allocate special memory according to what the user requests in the info object...
Definition: mpool_base_alloc.c:97
void *(* mca_mpool_base_module_realloc_fn_t)(struct mca_mpool_base_module_t *mpool, void *addr, size_t size, mca_mpool_base_registration_t **registration)
realloc function typedef
Definition: mpool.h:77
Meta data for MCA v2.0.0 components.
Definition: mca.h:309
mca_mpool_base_module_realloc_fn_t mpool_realloc
reallocate function
Definition: mpool.h:178
mca_mpool_base_component_t * mpool_component
component stuct
Definition: mpool.h:175
mca_mpool_base_module_alloc_fn_t mpool_alloc
allocate function
Definition: mpool.h:177
mca_mpool_base_module_release_fn_t mpool_release
release a registration from the cache
Definition: mpool.h:183
void(* mca_mpool_base_module_free_fn_t)(struct mca_mpool_base_module_t *mpool, void *addr, mca_mpool_base_registration_t *registration)
free function typedef
Definition: mpool.h:86
void *(* mca_mpool_base_module_alloc_fn_t)(struct mca_mpool_base_module_t *mpool, size_t size, size_t align, uint32_t flags, mca_mpool_base_registration_t **registration)
allocate function typedef
Definition: mpool.h:67
mca_mpool_base_component_init_fn_t mpool_init
init function
Definition: mpool.h:158
Checkpoint and Restart Service (CRS) Interface.
mca_base_component_data_t mpool_data
metadata
Definition: mpool.h:156
int(* mca_mpool_base_module_release_memory_fn_t)(struct mca_mpool_base_module_t *mpool, void *base, size_t size)
release memory region
Definition: mpool.h:128
#define OBJ_CLASS_DECLARATION(NAME)
Declaration for class descriptor.
Definition: opal_object.h:236
Definition: mpool_fake.h:38
mpool module descriptor.
Definition: mpool.h:174