Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
model-checker : MUTEX_UNLOCK is invisible for MC
authorMarion Guthmuller <marion.guthmuller@inria.fr>
Thu, 26 Feb 2015 09:22:04 +0000 (10:22 +0100)
committerMarion Guthmuller <marion.guthmuller@inria.fr>
Thu, 26 Feb 2015 09:22:04 +0000 (10:22 +0100)
examples/smpi/mc/only_send_deterministic.tesh
src/mc/mc_base.c
src/mc/mc_request.c

index 1174e5c..ac21435 100644 (file)
@@ -17,9 +17,9 @@ $ ../../../smpi_script/bin/smpirun -hostfile ${srcdir:=.}/hostfile_only_send_det
 > [0.000000] [mc_global/INFO] **** Only-send-deterministic communication pattern ****
 > [0.000000] [mc_global/INFO] ******************************************************
 > [0.000000] [mc_global/INFO] The recv communications pattern of the process 0 is different! Different source for communication #2
-> [0.000000] [mc_global/INFO] Expanded states = 2966
-> [0.000000] [mc_global/INFO] Visited states = 13362
-> [0.000000] [mc_global/INFO] Executed transitions = 12576
+> [0.000000] [mc_global/INFO] Expanded states = 1025
+> [0.000000] [mc_global/INFO] Visited states = 3640
+> [0.000000] [mc_global/INFO] Executed transitions = 3360
 > [0.000000] [mc_global/INFO] Send-deterministic : Yes
 > [0.000000] [mc_global/INFO] Recv-deterministic : No
 
index 31dac0c..2a58722 100644 (file)
@@ -87,7 +87,6 @@ int MC_request_is_visible(smx_simcall_t req)
       || req->call == SIMCALL_COMM_TESTANY
       || req->call == SIMCALL_MC_RANDOM
       || req->call == SIMCALL_MUTEX_LOCK
-      || req->call == SIMCALL_MUTEX_UNLOCK
 #ifdef HAVE_MC
       || req->call == SIMCALL_MC_SNAPSHOT
       || req->call == SIMCALL_MC_COMPARE_SNAPSHOTS
index 3d7638c..5c7d573 100644 (file)
@@ -335,12 +335,6 @@ char *MC_request_to_string(smx_simcall_t req, int value)
     args = bprintf("locked = %d, owner = %d, sleeping = %d", mutex->locked, mutex->owner != NULL ? (int)mutex->owner->pid : -1, xbt_swag_size(mutex->sleeping));
     break;
 
-  case SIMCALL_MUTEX_UNLOCK:
-    type = xbt_strdup("Mutex UNLOCK");
-    mutex = simcall_mutex_unlock__get__mutex(req);
-    args = bprintf("locked = %d, owner = %d, sleeping = %d", mutex->locked, mutex->owner != NULL ? (int)mutex->owner->pid : -1, xbt_swag_size(mutex->sleeping));
-    break;
-
   case SIMCALL_MC_SNAPSHOT:
     type = xbt_strdup("MC_SNAPSHOT");
     args = NULL;
@@ -533,10 +527,6 @@ char *MC_request_get_dot_output(smx_simcall_t req, int value)
   case SIMCALL_MUTEX_LOCK:
     label = bprintf("[(%lu)] Mutex LOCK", req->issuer->pid);
     break;
-    
-  case SIMCALL_MUTEX_UNLOCK:
-    label = bprintf("[(%lu)] Mutex UNLOCK", req->issuer->pid);
-    break;
 
   case SIMCALL_MC_RANDOM:
     if (req->issuer->smx_host)