Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
use std::map for sparse vectors. This simplifies things
[simgrid.git] / src / simix / smx_vm.cpp
index ba2d444..3e50aca 100644 (file)
@@ -15,7 +15,7 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY(simix_vm, simix, "Logging specific to SIMIX (vms
 /**
  * @brief Internal function to create a SIMIX host.
  * @param name name of the host to create
- * @param data some user data (may be NULL)
+ * @param data some user data (may be nullptr)
  */
 sg_host_t SIMIX_vm_create(const char *name, sg_host_t ind_phys_host)
 {
@@ -50,7 +50,7 @@ static int __can_be_started(sg_host_t vm)
 
   int pm_overcommit = 0;
   long pm_ramsize = host_get_ramsize(pm, &pm_overcommit);
-  long vm_ramsize = host_get_ramsize(vm, NULL);
+  long vm_ramsize = host_get_ramsize(vm, nullptr);
 
   if (!pm_ramsize) {
     /* We assume users do not want to care about ramsize. */
@@ -68,7 +68,7 @@ static int __can_be_started(sg_host_t vm)
     unsigned int cursor = 0;
     sg_host_t another_vm;
     xbt_dynar_foreach(dyn_vms, cursor, another_vm) {
-      long another_vm_ramsize = host_get_ramsize(vm, NULL);
+      long another_vm_ramsize = host_get_ramsize(vm, nullptr);
       total_ramsize_of_vms += another_vm_ramsize;
     }
   }
@@ -119,7 +119,6 @@ void SIMIX_vm_migrate(sg_host_t ind_vm, sg_host_t ind_dst_pm)
 /**
  * @brief Encompassing simcall to prevent the removal of the src or the dst node at the end of a VM migration
  *  The simcall actually invokes the following calls: 
- *     simcall_vm_set_affinity(vm, src_pm, 0); 
  *     simcall_vm_migrate(vm, dst_pm); 
  *     simcall_vm_resume(vm);
  *
@@ -131,14 +130,11 @@ void SIMIX_vm_migrate(sg_host_t ind_vm, sg_host_t ind_dst_pm)
  */
 void SIMIX_vm_migratefrom_resumeto(sg_host_t vm, sg_host_t src_pm, sg_host_t dst_pm)
 {
-  /* deinstall the current affinity setting for the CPU */
-  SIMIX_vm_set_affinity(vm, src_pm, 0);
-
   /* Update the vm location */
   SIMIX_vm_migrate(vm, dst_pm);
  
   /* Resume the VM */
-  smx_process_t self = SIMIX_process_self(); 
+  smx_actor_t self = SIMIX_process_self(); 
   SIMIX_vm_resume(vm, self->simcall.issuer);
 } 
 
@@ -147,10 +143,9 @@ void SIMIX_vm_migratefrom_resumeto(sg_host_t vm, sg_host_t src_pm, sg_host_t dst
  *
  * @param host the vm host to get_phys_host (a sg_host_t)
  */
-void *SIMIX_vm_get_pm(sg_host_t ind_vm)
+void *SIMIX_vm_get_pm(sg_host_t host)
 {
-  /* jump to vm_ws_get_pm(). this will return the vm name. */
-  return surf_vm_get_pm(ind_vm);
+  return surf_vm_get_pm(host);
 }
 
 /**
@@ -159,29 +154,11 @@ void *SIMIX_vm_get_pm(sg_host_t ind_vm)
  * @param host the vm host (a sg_host_t)
  * @param bound bound (a double)
  */
-void SIMIX_vm_set_bound(sg_host_t ind_vm, double bound)
-{
-  /* jump to vm_ws_set_vm_bound(). */
-  surf_vm_set_bound(ind_vm, bound);
-}
-
-/**
- * @brief Function to set the CPU affinity of the given SIMIX VM host.
- *
- * @param host the vm host (a sg_host_t)
- * @param host the pm host (a sg_host_t)
- * @param mask affinity mask (a unsigned long)
- */
-void SIMIX_vm_set_affinity(sg_host_t ind_vm, sg_host_t ind_pm, unsigned long mask)
+void SIMIX_vm_set_bound(sg_host_t host, double bound)
 {
-  /* make sure this at the MSG layer. */
-  xbt_assert(SIMIX_vm_get_pm(ind_vm) == ind_pm);
-
-  /* jump to vm_ws_set_vm_affinity(). */
-  surf_vm_set_affinity(ind_vm, ind_pm, mask);
+  surf_vm_set_bound(host, bound);
 }
 
-
 /**
  * @brief Function to suspend a SIMIX VM host. This function stops the execution of the
  * VM. All the processes on this VM will pause. The state of the VM is
@@ -189,7 +166,7 @@ void SIMIX_vm_set_affinity(sg_host_t ind_vm, sg_host_t ind_pm, unsigned long mas
  *
  * @param host the vm host to suspend (a sg_host_t)
  */
-void SIMIX_vm_suspend(sg_host_t ind_vm, smx_process_t issuer)
+void SIMIX_vm_suspend(sg_host_t ind_vm, smx_actor_t issuer)
 {
   const char *name = sg_host_get_name(ind_vm);
 
@@ -201,9 +178,9 @@ void SIMIX_vm_suspend(sg_host_t ind_vm, smx_process_t issuer)
   /* jump to vm_ws_suspend. The state will be set. */
   surf_vm_suspend(ind_vm);
 
-  smx_process_t smx_process, smx_process_safe;
+  smx_actor_t smx_process, smx_process_safe;
   xbt_swag_foreach_safe(smx_process, smx_process_safe, sg_host_simix(ind_vm)->process_list) {
-    XBT_DEBUG("suspend %s", smx_process->name);
+    XBT_DEBUG("suspend %s", smx_process->name.c_str());
     SIMIX_process_suspend(smx_process, issuer);
   }
 
@@ -229,7 +206,7 @@ void simcall_HANDLER_vm_suspend(smx_simcall_t simcall, sg_host_t ind_vm)
  *
  * @param host the vm host to resume (a sg_host_t)
  */
-void SIMIX_vm_resume(sg_host_t ind_vm, smx_process_t issuer)
+void SIMIX_vm_resume(sg_host_t ind_vm, smx_actor_t issuer)
 {
   const char *name = sg_host_get_name(ind_vm);
 
@@ -241,9 +218,9 @@ void SIMIX_vm_resume(sg_host_t ind_vm, smx_process_t issuer)
   /* jump to vm_ws_resume() */
   surf_vm_resume(ind_vm);
 
-  smx_process_t smx_process, smx_process_safe;
+  smx_actor_t smx_process, smx_process_safe;
   xbt_swag_foreach_safe(smx_process, smx_process_safe, sg_host_simix(ind_vm)->process_list) {
-    XBT_DEBUG("resume %s", smx_process->name);
+    XBT_DEBUG("resume %s", smx_process->name.c_str());
     SIMIX_process_resume(smx_process, issuer);
   }
 }
@@ -261,7 +238,7 @@ void simcall_HANDLER_vm_resume(smx_simcall_t simcall, sg_host_t ind_vm)
  *
  * @param host the vm host to save (a sg_host_t)
  */
-void SIMIX_vm_save(sg_host_t ind_vm, smx_process_t issuer)
+void SIMIX_vm_save(sg_host_t ind_vm, smx_actor_t issuer)
 {
   const char *name = sg_host_get_name(ind_vm);
 
@@ -274,9 +251,9 @@ void SIMIX_vm_save(sg_host_t ind_vm, smx_process_t issuer)
   /* jump to vm_ws_save() */
   surf_vm_save(ind_vm);
 
-  smx_process_t smx_process, smx_process_safe;
+  smx_actor_t smx_process, smx_process_safe;
   xbt_swag_foreach_safe(smx_process, smx_process_safe, sg_host_simix(ind_vm)->process_list) {
-    XBT_DEBUG("suspend %s", smx_process->name);
+    XBT_DEBUG("suspend %s", smx_process->name.c_str());
     SIMIX_process_suspend(smx_process, issuer);
   }
 }
@@ -293,7 +270,7 @@ void simcall_HANDLER_vm_save(smx_simcall_t simcall, sg_host_t ind_vm)
  *
  * @param host the vm host to restore (a sg_host_t)
  */
-void SIMIX_vm_restore(sg_host_t ind_vm, smx_process_t issuer)
+void SIMIX_vm_restore(sg_host_t ind_vm, smx_actor_t issuer)
 {
   const char *name = sg_host_get_name(ind_vm);
 
@@ -305,9 +282,9 @@ void SIMIX_vm_restore(sg_host_t ind_vm, smx_process_t issuer)
   /* jump to vm_ws_restore() */
   surf_vm_resume(ind_vm);
 
-  smx_process_t smx_process, smx_process_safe;
+  smx_actor_t smx_process, smx_process_safe;
   xbt_swag_foreach_safe(smx_process, smx_process_safe, sg_host_simix(ind_vm)->process_list) {
-    XBT_DEBUG("resume %s", smx_process->name);
+    XBT_DEBUG("resume %s", smx_process->name.c_str());
     SIMIX_process_resume(smx_process, issuer);
   }
 }
@@ -325,7 +302,7 @@ void simcall_HANDLER_vm_restore(smx_simcall_t simcall, sg_host_t ind_vm)
  *
  * @param host the vm host to shutdown (a sg_host_t)
  */
-void SIMIX_vm_shutdown(sg_host_t ind_vm, smx_process_t issuer)
+void SIMIX_vm_shutdown(sg_host_t ind_vm, smx_actor_t issuer)
 {
   const char *name = sg_host_get_name(ind_vm);
 
@@ -335,9 +312,9 @@ void SIMIX_vm_shutdown(sg_host_t ind_vm, smx_process_t issuer)
   XBT_DEBUG("shutdown %s", name);
   XBT_DEBUG("%d processes in the VM", xbt_swag_size(sg_host_simix(ind_vm)->process_list));
 
-  smx_process_t smx_process, smx_process_safe;
+  smx_actor_t smx_process, smx_process_safe;
   xbt_swag_foreach_safe(smx_process, smx_process_safe, sg_host_simix(ind_vm)->process_list) {
-    XBT_DEBUG("kill %s", smx_process->name);
+    XBT_DEBUG("kill %s", smx_process->name.c_str());
     SIMIX_process_kill(smx_process, issuer);
   }