@@ -85,6 +85,87 @@ static const char* ompi_osc_rdma_set_no_lock_info(opal_infosubscriber_t *obj, co
8585
8686static char * ompi_osc_rdma_full_connectivity_btls ;
8787
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+
88169static const mca_base_var_enum_value_t ompi_osc_rdma_locking_modes [] = {
89170 {.value = OMPI_OSC_RDMA_LOCKING_TWO_LEVEL , .string = "two_level" },
90171 {.value = OMPI_OSC_RDMA_LOCKING_ON_DEMAND , .string = "on_demand" },
@@ -306,6 +387,8 @@ static int ompi_osc_rdma_component_register (void)
306387 ompi_osc_rdma_pvar_read , NULL , NULL ,
307388 (void * ) (intptr_t ) offsetof (ompi_osc_rdma_module_t , get_retry_count ));
308389
390+ mca_base_component_event_register_list (& mca_osc_rdma_component .super .osc_version , mca_osc_rdma_events , OMPI_OSC_RDMA_EVENT_MAX );
391+
309392 return OMPI_SUCCESS ;
310393}
311394
0 commit comments