diff --git a/ompi/mca/rcache/rb/rcache_rb.c b/ompi/mca/rcache/rb/rcache_rb.c index b96ac1b888..dda02e34f9 100644 --- a/ompi/mca/rcache/rb/rcache_rb.c +++ b/ompi/mca/rcache/rb/rcache_rb.c @@ -30,13 +30,14 @@ void mca_rcache_rb_module_init( mca_rcache_rb_module_t* rcache ) { rcache->base.rcache_insert = mca_rcache_rb_insert; rcache->base.rcache_delete = mca_rcache_rb_delete; rcache->base.rcache_finalize = mca_rcache_rb_finalize; - + mca_rcache_rb_tree_init(rcache); } int mca_rcache_rb_find ( struct mca_rcache_base_module_t* rcache, void* addr, size_t size, - ompi_pointer_array_t* regs + ompi_pointer_array_t* regs, + uint32_t *cnt ){ int rc; @@ -86,6 +87,7 @@ int mca_rcache_rb_delete ( if(OMPI_SUCCESS != rc) { return rc; } + reg->flags = 0; return mca_rcache_rb_tree_delete((mca_rcache_rb_module_t*)rcache, reg ); } diff --git a/ompi/mca/rcache/rb/rcache_rb.h b/ompi/mca/rcache/rb/rcache_rb.h index c15f81e22a..338703940a 100644 --- a/ompi/mca/rcache/rb/rcache_rb.h +++ b/ompi/mca/rcache/rb/rcache_rb.h @@ -40,14 +40,15 @@ struct mca_rcache_rb_module_t { typedef struct mca_rcache_rb_module_t mca_rcache_rb_module_t; typedef mca_rcache_base_component_t mca_rcache_rb_component_t; - +OMPI_COMP_EXPORT extern mca_rcache_rb_component_t mca_rcache_rb_component; int mca_rcache_rb_find ( mca_rcache_base_module_t* rcache, void* addr, size_t size, - ompi_pointer_array_t* regs + ompi_pointer_array_t* regs, + uint32_t *cnt ); int mca_rcache_rb_insert ( @@ -74,5 +75,6 @@ void mca_rcache_rb_finalize( -#endif /* MCA_RCACHE_H */ +#endif /* MCA_RCACHE_RB_H */ + diff --git a/ompi/mca/rcache/rb/rcache_rb_component.c b/ompi/mca/rcache/rb/rcache_rb_component.c index 1e6b8f7a2f..0267ec205a 100644 --- a/ompi/mca/rcache/rb/rcache_rb_component.c +++ b/ompi/mca/rcache/rb/rcache_rb_component.c @@ -11,7 +11,7 @@ mca_rcache_rb_component_t mca_rcache_rb_component = { implies a specific MCA version) */ MCA_RCACHE_BASE_VERSION_1_0_0, - "rcache", /* MCA component name */ + "rb", /* MCA component name */ OMPI_MAJOR_VERSION, /* MCA component major version */ OMPI_MINOR_VERSION, /* MCA component minor version */ OMPI_RELEASE_VERSION, /* MCA component release version */ diff --git a/ompi/mca/rcache/rb/rcache_rb_tree.c b/ompi/mca/rcache/rb/rcache_rb_tree.c index 2dff06770d..94f866362d 100644 --- a/ompi/mca/rcache/rb/rcache_rb_tree.c +++ b/ompi/mca/rcache/rb/rcache_rb_tree.c @@ -22,6 +22,11 @@ #include "rcache_rb_tree.h" +OBJ_CLASS_INSTANCE(mca_rcache_rb_tree_item_t, opal_list_item_t, NULL, NULL); + +int mca_rcache_rb_tree_init(mca_rcache_rb_module_t* rcache) { + OBJ_CONSTRUCT(&rcache->rb_tree, ompi_rb_tree_t); +} /** * Searches the rcache to see if it has allocated the memory that is passed in. * If so it returns an array of rcaches the memory is registered with. diff --git a/ompi/mca/rcache/rb/rcache_rb_tree.h b/ompi/mca/rcache/rb/rcache_rb_tree.h index f5f1e49592..2de657415a 100644 --- a/ompi/mca/rcache/rb/rcache_rb_tree.h +++ b/ompi/mca/rcache/rb/rcache_rb_tree.h @@ -52,6 +52,12 @@ typedef struct mca_rcache_rb_tree_item_t mca_rcache_rb_tree_item_t; OBJ_CLASS_DECLARATION(mca_rcache_rb_tree_item_t); + +/* + * initialize the rb tree + */ +int mca_rcache_rb_tree_init(mca_rcache_rb_module_t* rcache); + /** * Returns the item in the rb tree */ @@ -76,5 +82,6 @@ int mca_rcache_rb_tree_delete( mca_mpool_base_registration_t* reg ); + #endif /* MCA_RCACHE_RB_TREE_H */ diff --git a/ompi/mca/rcache/rcache.h b/ompi/mca/rcache/rcache.h index 1f0a87a6ea..7e6797249f 100644 --- a/ompi/mca/rcache/rcache.h +++ b/ompi/mca/rcache/rcache.h @@ -36,7 +36,8 @@ typedef int (*mca_rcache_base_module_find_fn_t) ( struct mca_rcache_base_module_t* rcache, void* addr, size_t size, - ompi_pointer_array_t *regs + ompi_pointer_array_t *regs, + uint32_t *cnt ); typedef int (*mca_rcache_base_module_insert_fn_t)( @@ -91,6 +92,8 @@ typedef struct mca_rcache_base_module_t mca_rcache_base_module_t; + + /** * Macro for use in components that are of type rcache v1.0.0 */