Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Skip requests for SIMIX_req_rdv_get_by_name and call the function directly.
authorcristianrosa <cristianrosa@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Fri, 28 Jan 2011 14:48:31 +0000 (14:48 +0000)
committercristianrosa <cristianrosa@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Fri, 28 Jan 2011 14:48:31 +0000 (14:48 +0000)
It is too expensive to post a request just to get the rendez-vous point.

git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@9524 48e7efb5-ca39-0410-a469-dd3cf9ba447f

src/simix/smx_user.c

index 2bde738..5effb48 100644 (file)
@@ -567,12 +567,17 @@ void SIMIX_req_rdv_destroy(smx_rdv_t rdv)
 smx_rdv_t SIMIX_req_rdv_get_by_name(const char *name)
 {
   xbt_assert0(name != NULL, "Invalid parameter for SIMIX_req_rdv_get_by_name (name is NULL)");
 smx_rdv_t SIMIX_req_rdv_get_by_name(const char *name)
 {
   xbt_assert0(name != NULL, "Invalid parameter for SIMIX_req_rdv_get_by_name (name is NULL)");
-  smx_req_t req = SIMIX_req_mine();
 
 
+  /* FIXME: this is a horrible lost of performance, so we hack it out by
+   * skipping the request (for now). It won't work on distributed but
+   * probably we will change MSG for that. */
+  return SIMIX_rdv_get_by_name(name);
+/*
+  smx_req_t req = SIMIX_req_mine();
   req->call = REQ_RDV_GEY_BY_NAME;
   req->rdv_get_by_name.name = name;
   SIMIX_request_push();
   req->call = REQ_RDV_GEY_BY_NAME;
   req->rdv_get_by_name.name = name;
   SIMIX_request_push();
-  return req->rdv_get_by_name.result;
+  return req->rdv_get_by_name.result;*/
 }
 
 /**
 }
 
 /**