OpenMPI 0.1.1

- Main Page
- Related Pages
- Modules
- Data Structures
- Files

- File List
- Globals

rcache_rb.h
Go to the documentation of this file.
1 /* -*- Mode: C; c-basic-offset:4 ; -*- */
2 /**
3 * Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
4 * University Research and Technology
5 * Corporation. All rights reserved.
6 * Copyright (c) 2004-2007 The University of Tennessee and The University
7 * of Tennessee Research Foundation. All rights
8 * reserved.
9 * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
10 * University of Stuttgart. All rights reserved.
11 * Copyright (c) 2004-2005 The Regents of the University of California.
12 * All rights reserved.
13 * $COPYRIGHT$
14 *
15 * Additional copyrights may follow
16 *
17 * $HEADER$
18 */
19 /**
20 * @file
21 * Description of the Registration Cache framework
22 */
23 #ifndef MCA_RCACHE_RB_H
24 #define MCA_RCACHE_RB_H
25
26 #include "ompi_config.h"
27 #include "opal/mca/mca.h"
28 #include "opal/class/opal_list.h"
29 #include "ompi/class/ompi_rb_tree.h"
30 #include "ompi/mca/rcache/rcache.h"
31
32 struct mca_rcache_rb_module_t {
33 mca_rcache_base_module_t base;
34 ompi_rb_tree_t rb_tree;
35 ompi_free_list_t rb_tree_item_list;
36 opal_list_t mru_list;
37 size_t reg_mru_len;
38 size_t reg_max_mru_size;
39 size_t reg_cur_mru_size;
40
41 };
42 typedef struct mca_rcache_rb_module_t mca_rcache_rb_module_t;
43
44
45 struct mca_rcache_rb_component_t {
46 mca_rcache_base_component_t super;
47 };
48 typedef struct mca_rcache_rb_component_t mca_rcache_rb_component_t;
49
50 OMPI_MODULE_DECLSPEC extern mca_rcache_rb_component_t mca_rcache_rb_component;
51
52 void mca_rcache_rb_module_init( mca_rcache_rb_module_t* rcache );
53
54 int mca_rcache_rb_find( mca_rcache_base_module_t* rcache,
55 void* addr,
56 size_t size,
57 opal_pointer_array_t* regs,
58 uint32_t *cnt );
59
60 int mca_rcache_rb_insert( struct mca_rcache_base_module_t* rcache,
61 mca_mpool_base_registration_t* registration,
62 uint32_t flags );
63
64 int mca_rcache_rb_delete( struct mca_rcache_base_module_t* rcache,
65 mca_mpool_base_registration_t* registration,
66 uint32_t flags );
67
68
69 /**
70 * init/finalize
71 */
72
73 void mca_rcache_rb_module_init( mca_rcache_rb_module_t* rcache );
74
75 void mca_rcache_rb_finalize( struct mca_rcache_base_module_t* );
76
77 #endif /* MCA_RCACHE_RB_H */
78
opal_pointer_array_t
dynamic pointer array
Definition: opal_pointer_array.h:45
mca_rcache_base_module_t
rcache module descriptor
Definition: rcache.h:83
mca_rcache_rb_module_init
void mca_rcache_rb_module_init(mca_rcache_rb_module_t *rcache)
init/finalize
Definition: rcache_rb.c:34
opal_list.h
The opal_list_t interface is used to provide a generic doubly-linked list container for Open MPI...
mca_mpool_base_registration_t
Definition: mpool.h:44
mca.h
Top-level interface for all MCA components.
mca_rcache_rb_finalize
void mca_rcache_rb_finalize(struct mca_rcache_base_module_t *)
finalize
Definition: rcache_rb.c:189
rcache.h
Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana University Research and Techno...
ompi_free_list_t
Definition: ompi_free_list.h:39
mca_rcache_base_component_2_0_0_t
rcache component descriptor.
Definition: rcache.h:69
mca_rcache_rb_module_t
Definition: rcache_rb.h:32
mca_rcache_rb_component_t
Definition: rcache_rb.h:45
opal_list_t
Definition: opal_list.h:147
ompi_rb_tree_t
the data structure that holds all the needed information about the tree.
Definition: ompi_rb_tree.h:67
ompi_rb_tree.h
A red black tree.