XBT_LOG_NEW_DEFAULT_SUBCATEGORY(smpi_base, smpi,
"Logging specific to SMPI (base)");
-XBT_LOG_EXTERNAL_CATEGORY(smpi_base);
-XBT_LOG_EXTERNAL_CATEGORY(smpi_bench);
-XBT_LOG_EXTERNAL_CATEGORY(smpi_kernel);
-XBT_LOG_EXTERNAL_CATEGORY(smpi_mpi);
-XBT_LOG_EXTERNAL_CATEGORY(smpi_mpi_dt);
-XBT_LOG_EXTERNAL_CATEGORY(smpi_coll);
-XBT_LOG_EXTERNAL_CATEGORY(smpi_receiver);
-XBT_LOG_EXTERNAL_CATEGORY(smpi_sender);
-XBT_LOG_EXTERNAL_CATEGORY(smpi_util);
-
-static int match_recv(void* a, void* b) {
+
+static int match_recv(void* a, void* b, smx_action_t ignored) {
MPI_Request ref = (MPI_Request)a;
MPI_Request req = (MPI_Request)b;
&& (ref->tag == MPI_ANY_TAG || req->tag == ref->tag);
}
-static int match_send(void* a, void* b) {
+static int match_send(void* a, void* b,smx_action_t ignored) {
MPI_Request ref = (MPI_Request)a;
MPI_Request req = (MPI_Request)b;
static void smpi_mpi_request_free_voidp(void* request)
{
- smpi_mpi_request_free(request);
+ MPI_Request req = request;
+ smpi_mpi_request_free(&req);
}
/* MPI Low level calls */
detached);
#ifdef HAVE_TRACING
- simcall_set_category (request->action, TRACE_internal_smpi_get_category());
+ /* FIXME: detached sends are not traceable (request->action == NULL) */
+ if (request->action)
+ simcall_set_category(request->action, TRACE_internal_smpi_get_category());
#endif
}
}