Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
don't destroy synchro in a simcall, this drives the JVM nuts
[simgrid.git] / src / surf / vm_hl13.cpp
index 55eaefd..d34f21d 100644 (file)
@@ -42,11 +42,6 @@ VirtualMachine *VMHL13Model::createVM(const char *name, sg_host_t host_PM)
   return vm;
 }
 
-static inline double get_solved_value(CpuAction *cpu_action)
-{
-  return cpu_action->getVariable()->value;
-}
-
 /* In the real world, processes on the guest operating system will be somewhat
  * degraded due to virtualization overhead. The total CPU share that these
  * processes get is smaller than that of the VM process gets on a host
@@ -91,7 +86,7 @@ double VMHL13Model::shareResources(double now)
     Cpu *cpu = ws_vm->p_cpu;
     xbt_assert(cpu, "cpu-less host");
 
-    double solved_value = get_solved_value(ws_vm->p_action);
+    double solved_value = ws_vm->p_action->getVariable()->value;
     XBT_DEBUG("assign %f to vm %s @ pm %s", solved_value,
         ws_vm->getName(), ws_vm->p_hostPM->name().c_str());
 
@@ -163,8 +158,7 @@ VMHL13::VMHL13(VMModel *model, const char* name, xbt_dict_t props, sg_host_t hos
 
   /* We create cpu_action corresponding to a VM process on the host operating system. */
   /* FIXME: TODO: we have to periodically input GUESTOS_NOISE to the system? how ? */
-  // vm_ws->cpu_action = surf_cpu_model_pm->extension.cpu.execute(host_PM, GUESTOS_NOISE);
-  p_action = sub_cpu->execute(0);
+  p_action = sub_cpu->execution_start(0);
 
   XBT_INFO("Create VM(%s)@PM(%s) with %ld mounted disks",
     name, p_hostPM->name().c_str(), xbt_dynar_length(p_storage));
@@ -218,7 +212,7 @@ void VMHL13::migrate(sg_host_t host_dest)
    /* Update vcpu's action for the new pm */
    {
      /* create a cpu action bound to the pm model at the destination. */
-     CpuAction *new_cpu_action = static_cast<CpuAction*>(host_dest->pimpl_cpu->execute(0));
+     CpuAction *new_cpu_action = static_cast<CpuAction*>(host_dest->pimpl_cpu->execution_start(0));
 
      e_surf_action_state_t state = p_action->getState();
      if (state != SURF_ACTION_DONE)