OpenMPI  0.1.1
mpool_grdma.h File Reference
#include "ompi_config.h"
#include "opal/class/opal_list.h"
#include "ompi/class/ompi_free_list.h"
#include "opal/mca/event/event.h"
#include "ompi/mca/mpool/mpool.h"
#include <sys/mman.h>

Go to the source code of this file.

Data Structures

struct  mca_mpool_grdma_pool_t
 
struct  mca_mpool_grdma_component_t
 
struct  mca_mpool_base_resources_t
 
struct  mca_mpool_grdma_module_t
 

Macros

#define MCA_MPOOL_GRDMA_NAME_MAX   256
 

Typedefs

typedef struct
mca_mpool_grdma_pool_t 
mca_mpool_grdma_pool_t
 
typedef struct
mca_mpool_grdma_component_t 
mca_mpool_grdma_component_t
 
typedef struct
mca_mpool_base_resources_t 
mca_mpool_base_resources_t
 
typedef struct
mca_mpool_grdma_module_t 
mca_mpool_grdma_module_t
 

Functions

 OBJ_CLASS_DECLARATION (mca_mpool_grdma_pool_t)
 
void mca_mpool_grdma_module_init (mca_mpool_grdma_module_t *mpool, mca_mpool_grdma_pool_t *pool)
 
void * mca_mpool_grdma_base (mca_mpool_base_module_t *mpool)
 
void * mca_mpool_grdma_alloc (mca_mpool_base_module_t *mpool, size_t size, size_t align, uint32_t flags, mca_mpool_base_registration_t **registration)
 Allocate block of registered memory. More...
 
void * mca_mpool_grdma_realloc (mca_mpool_base_module_t *mpool, void *addr, size_t size, mca_mpool_base_registration_t **registration)
 realloc block of registered memory More...
 
int mca_mpool_grdma_register (mca_mpool_base_module_t *mpool, void *addr, size_t size, uint32_t flags, mca_mpool_base_registration_t **reg)
 register block of memory
 
int mca_mpool_grdma_deregister (mca_mpool_base_module_t *mpool, mca_mpool_base_registration_t *reg)
 deregister memory
 
void mca_mpool_grdma_free (mca_mpool_base_module_t *mpool, void *addr, mca_mpool_base_registration_t *reg)
 free memory allocated by alloc function More...
 
int mca_mpool_grdma_find (struct mca_mpool_base_module_t *mpool, void *addr, size_t size, mca_mpool_base_registration_t **reg)
 find registration for a given block of memory
 
int mca_mpool_grdma_release_memory (mca_mpool_base_module_t *mpool, void *base, size_t size)
 unregister all registration covering the block of memory
 
void mca_mpool_grdma_finalize (struct mca_mpool_base_module_t *mpool)
 finalize mpool
 
int mca_mpool_grdma_ft_event (int state)
 Fault Tolerance Event Notification Function. More...
 
int mca_mpool_grdma_progress (void)
 
bool mca_mpool_grdma_evict (struct mca_mpool_base_module_t *mpool)
 evict one unused registration from the mpool's lru. More...
 

Variables

OMPI_DECLSPEC
mca_mpool_grdma_component_t 
mca_mpool_grdma_component
 

Function Documentation

void* mca_mpool_grdma_alloc ( mca_mpool_base_module_t mpool,
size_t  size,
size_t  align,
uint32_t  flags,
mca_mpool_base_registration_t **  reg 
)

Allocate block of registered memory.

Allocate block of registered memory.

References mca_mpool_grdma_register().

Referenced by mca_mpool_grdma_realloc().

bool mca_mpool_grdma_evict ( struct mca_mpool_base_module_t mpool)

evict one unused registration from the mpool's lru.

Returns
true on success, false on failure

References opal_atomic_rmb(), and opal_atomic_wmb().

Referenced by mca_mpool_grdma_register().

void mca_mpool_grdma_free ( mca_mpool_base_module_t mpool,
void *  addr,
mca_mpool_base_registration_t registration 
)

free memory allocated by alloc function

free memory allocated by alloc function

References mca_mpool_grdma_deregister().

Referenced by mca_mpool_grdma_realloc().

int mca_mpool_grdma_ft_event ( int  state)

Fault Tolerance Event Notification Function.

Parameters
stateCheckpoint Stae
Returns
OMPI_SUCCESS or failure status
void* mca_mpool_grdma_realloc ( mca_mpool_base_module_t mpool,
void *  addr,
size_t  size,
mca_mpool_base_registration_t **  reg 
)

realloc block of registered memory

realloc block of registered memory

References mca_mpool_grdma_alloc(), and mca_mpool_grdma_free().