@@ -85,6 +85,87 @@ static const char* ompi_osc_rdma_set_no_lock_info(opal_infosubscriber_t *obj, co
85
85
86
86
static char * ompi_osc_rdma_full_connectivity_btls ;
87
87
88
+ static char * mca_osc_rdma_target_element [] = {
89
+ "target" , NULL ,
90
+ };
91
+
92
+ static opal_datatype_t * mca_osc_rdma_rdma_event_types [] = {
93
+ & ompi_mpi_int .dt .super , & ompi_mpi_int64_t .dt .super , & ompi_mpi_int64_t .dt .super ,
94
+ };
95
+
96
+ static char * mca_osc_rdma_rdma_event_elements [] = {
97
+ "target" , "address" , "size_bytes" , NULL ,
98
+ };
99
+
100
+ static unsigned long mca_osc_rdma_rdma_event_offsets [] = {
101
+ offsetof (mca_osc_rdma_rdma_event_t , target ), offsetof (mca_osc_rdma_rdma_event_t , address ),
102
+ offsetof (mca_osc_rdma_rdma_event_t , size ),
103
+ };
104
+
105
+ mca_base_event_list_item_t mca_osc_rdma_events [] = {
106
+ [OMPI_OSC_RDMA_EVENT_LOCK_ACQUIRED ] = {.name = "lock_acquired" , .desc = "Passive-target lock aquired" ,
107
+ .verbosity = OPAL_INFO_LVL_5 , .datatypes = & (opal_datatype_t * ) {& ompi_mpi_int .dt .super },
108
+ .offsets = & (unsigned long ) {0 }, .num_datatypes = 1 , .elements = mca_osc_rdma_target_element ,
109
+ .extent = sizeof (int ), .bind = MCA_BASE_VAR_BIND_MPI_WIN },
110
+
111
+ [OMPI_OSC_RDMA_EVENT_LOCK_RELEASED ] = {.name = "lock_released" , .desc = "Passive-target lock required" ,
112
+ .verbosity = OPAL_INFO_LVL_5 , .datatypes = & (opal_datatype_t * ) {& ompi_mpi_int .dt .super },
113
+ .offsets = & (unsigned long ) {0 }, .num_datatypes = 1 , .elements = mca_osc_rdma_target_element ,
114
+ .extent = sizeof (int ), .bind = MCA_BASE_VAR_BIND_MPI_WIN },
115
+
116
+ [OMPI_OSC_RDMA_EVENT_PUT_STARTED ] = {.name = "put_started" , .desc = "Put started to target. Complete event may not exist." ,
117
+ .verbosity = OPAL_INFO_LVL_5 , .datatypes = mca_osc_rdma_rdma_event_types ,
118
+ .offsets = mca_osc_rdma_rdma_event_offsets , .num_datatypes = 3 ,
119
+ .elements = mca_osc_rdma_rdma_event_elements , .extent = 24 , .bind = MCA_BASE_VAR_BIND_MPI_WIN },
120
+
121
+ [OMPI_OSC_RDMA_EVENT_PUT_COMPLETE ] = {.name = "put_complete" , .desc = "Put completed on target" ,
122
+ .verbosity = OPAL_INFO_LVL_5 , .datatypes = mca_osc_rdma_rdma_event_types ,
123
+ .offsets = mca_osc_rdma_rdma_event_offsets , .num_datatypes = 3 ,
124
+ .elements = mca_osc_rdma_rdma_event_elements , .extent = 24 , .bind = MCA_BASE_VAR_BIND_MPI_WIN },
125
+
126
+ [OMPI_OSC_RDMA_EVENT_GET_STARTED ] = {.name = "get_started" , .desc = "Put started to target. Complete event may not exist." ,
127
+ .verbosity = OPAL_INFO_LVL_5 , .datatypes = mca_osc_rdma_rdma_event_types ,
128
+ .offsets = mca_osc_rdma_rdma_event_offsets , .num_datatypes = 3 ,
129
+ .elements = mca_osc_rdma_rdma_event_elements , .extent = 24 , .bind = MCA_BASE_VAR_BIND_MPI_WIN },
130
+
131
+ [OMPI_OSC_RDMA_EVENT_GET_COMPLETE ] = {.name = "get_complete" , .desc = "Put completed on target" ,
132
+ .verbosity = OPAL_INFO_LVL_5 , .datatypes = mca_osc_rdma_rdma_event_types ,
133
+ .offsets = mca_osc_rdma_rdma_event_offsets , .num_datatypes = 3 ,
134
+ .elements = mca_osc_rdma_rdma_event_elements , .extent = 24 , .bind = MCA_BASE_VAR_BIND_MPI_WIN },
135
+
136
+ [OMPI_OSC_RDMA_EVENT_FLUSH_STARTED ] = {.name = "flush_started" , .desc = "Flush started on target" ,
137
+ .verbosity = OPAL_INFO_LVL_5 , .datatypes = & (opal_datatype_t * ) {& ompi_mpi_int .dt .super },
138
+ .offsets = & (unsigned long ) {0 }, .num_datatypes = 1 , .elements = mca_osc_rdma_target_element ,
139
+ .extent = sizeof (int ), .bind = MCA_BASE_VAR_BIND_MPI_WIN },
140
+
141
+ [OMPI_OSC_RDMA_EVENT_FLUSH_COMPLETE ] = {.name = "flush_complete" , .desc = "Flush complete on target" ,
142
+ .verbosity = OPAL_INFO_LVL_5 , .datatypes = & (opal_datatype_t * ) {& ompi_mpi_int .dt .super },
143
+ .offsets = & (unsigned long ) {0 }, .num_datatypes = 1 , .elements = mca_osc_rdma_target_element ,
144
+ .extent = sizeof (int ), .bind = MCA_BASE_VAR_BIND_MPI_WIN },
145
+
146
+ [OMPI_OSC_RDMA_EVENT_PSCW_EXPOSE_START ] = {.name = "pscw_expose_start" , .desc = "PSWW exposure started" ,
147
+ .verbosity = OPAL_INFO_LVL_5 , .datatypes = & (opal_datatype_t * ) {& ompi_mpi_int .dt .super },
148
+ .offsets = & (unsigned long ) {0 }, .num_datatypes = 0 , .elements = mca_osc_rdma_target_element ,
149
+ .extent = sizeof (int ), .bind = MCA_BASE_VAR_BIND_MPI_WIN },
150
+
151
+ [OMPI_OSC_RDMA_EVENT_PSCW_EXPOSE_COMPLETE ] = {.name = "pscw_expose_complete" , .desc = "PSWW exposure complete" ,
152
+ .verbosity = OPAL_INFO_LVL_5 , .datatypes = & (opal_datatype_t * ) {& ompi_mpi_int .dt .super },
153
+ .offsets = & (unsigned long ) {0 }, .num_datatypes = 0 , .elements = mca_osc_rdma_target_element ,
154
+ .extent = sizeof (int ), .bind = MCA_BASE_VAR_BIND_MPI_WIN },
155
+
156
+ [OMPI_OSC_RDMA_EVENT_PSCW_ACCESS_START ] = {.name = "pscw_access_start" , .desc = "PSWW access epoch started" ,
157
+ .verbosity = OPAL_INFO_LVL_5 , .datatypes = & (opal_datatype_t * ) {& ompi_mpi_int .dt .super },
158
+ .offsets = & (unsigned long ) {0 }, .num_datatypes = 1 , .elements = mca_osc_rdma_target_element ,
159
+ .extent = sizeof (int ), .bind = MCA_BASE_VAR_BIND_MPI_WIN },
160
+
161
+ [OMPI_OSC_RDMA_EVENT_PSCW_ACCESS_COMPLETE ] = {.name = "pscw_access_complete" , .desc = "PSWW access epoch complete" ,
162
+ .verbosity = OPAL_INFO_LVL_5 , .datatypes = & (opal_datatype_t * ) {& ompi_mpi_int .dt .super },
163
+ .offsets = & (unsigned long ) {0 }, .num_datatypes = 1 , .elements = mca_osc_rdma_target_element ,
164
+ .extent = sizeof (int ), .bind = MCA_BASE_VAR_BIND_MPI_WIN },
165
+
166
+ [OMPI_OSC_RDMA_EVENT_FENCE ] = {.name = "fence" , .desc = "Fence called" , .verbosity = OPAL_INFO_LVL_5 , .bind = MCA_BASE_VAR_BIND_MPI_WIN },
167
+ };
168
+
88
169
static const mca_base_var_enum_value_t ompi_osc_rdma_locking_modes [] = {
89
170
{.value = OMPI_OSC_RDMA_LOCKING_TWO_LEVEL , .string = "two_level" },
90
171
{.value = OMPI_OSC_RDMA_LOCKING_ON_DEMAND , .string = "on_demand" },
@@ -305,6 +386,8 @@ static int ompi_osc_rdma_component_register (void)
305
386
ompi_osc_rdma_pvar_read , NULL , NULL ,
306
387
(void * ) (intptr_t ) offsetof (ompi_osc_rdma_module_t , get_retry_count ));
307
388
389
+ mca_base_component_event_register_list (& mca_osc_rdma_component .super .osc_version , mca_osc_rdma_events , OMPI_OSC_RDMA_EVENT_MAX );
390
+
308
391
return OMPI_SUCCESS ;
309
392
}
310
393
0 commit comments