Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
make tracing less tightly coupled to MSG
[simgrid.git] / src / plugins / vm / VmLiveMigration.cpp
index e04f676..e3a21aa 100644 (file)
@@ -6,6 +6,7 @@
 #include <simgrid/plugins/live_migration.h>
 #include <simgrid/s4u.hpp>
 #include <simgrid/s4u/VirtualMachine.hpp>
+#include <simgrid/vm.h>
 #include <src/instr/instr_private.hpp>
 #include <src/plugins/vm/VirtualMachineImpl.hpp>
 #include <src/plugins/vm/VmHostExt.hpp>
@@ -56,7 +57,7 @@ void MigrationRx::operator()()
   vm_->getImpl()->isMigrating = false;
   XBT_DEBUG("VM(%s) moved from PM(%s) to PM(%s)", vm_->getCname(), src_pm_->getCname(), dst_pm_->getCname());
 
-  if (TRACE_msg_vm_is_enabled()) {
+  if (TRACE_vm_is_enabled()) {
     static long long int counter = 0;
     std::string key              = std::to_string(counter);
     counter++;
@@ -66,9 +67,7 @@ void MigrationRx::operator()()
     simgrid::instr::Container::getRoot()->getLink("MSG_VM_LINK")->startEvent(msg, "M", key);
 
     // destroy existing container of this vm
-    container_t existing_container = simgrid::instr::Container::byName(vm_->getName());
-    existing_container->removeFromParent();
-    delete existing_container;
+    simgrid::instr::Container::byName(vm_->getName())->removeFromParent();
 
     // create new container on the new_host location
     new simgrid::instr::Container(vm_->getCname(), "MSG_VM", simgrid::instr::Container::byName(dst_pm_->getName()));
@@ -307,6 +306,13 @@ void sg_vm_live_migration_plugin_init()
   simgrid::s4u::VirtualMachine::onVmShutdown.connect(&onVirtualMachineShutdown);
 }
 
+/* Deprecated. Please use MSG_vm_create_migratable() instead */
+msg_vm_t MSG_vm_create(msg_host_t ind_pm, const char* name, int coreAmount, int ramsize, int mig_netspeed,
+                       int dp_intensity)
+{
+  return sg_vm_create_migratable(ind_pm, name, coreAmount, ramsize, mig_netspeed, dp_intensity);
+}
+
 simgrid::s4u::VirtualMachine* sg_vm_create_migratable(simgrid::s4u::Host* pm, const char* name, int coreAmount,
                                                       int ramsize, int mig_netspeed, int dp_intensity)
 {
@@ -314,7 +320,7 @@ simgrid::s4u::VirtualMachine* sg_vm_create_migratable(simgrid::s4u::Host* pm, co
 
   /* For the moment, intensity_rate is the percentage against the migration bandwidth */
 
-  msg_vm_t vm = new simgrid::s4u::VirtualMachine(name, pm, coreAmount, static_cast<sg_size_t>(ramsize) * 1024 * 1024);
+  sg_vm_t vm = new simgrid::s4u::VirtualMachine(name, pm, coreAmount, static_cast<sg_size_t>(ramsize) * 1024 * 1024);
   sg_vm_set_dirty_page_intensity(vm, dp_intensity / 100.0);
   sg_vm_set_working_set_memory(vm, vm->getRamsize() * 0.9); // assume working set memory is 90% of ramsize
   sg_vm_set_migration_speed(vm, mig_netspeed * 1024 * 1024.0);
@@ -366,4 +372,5 @@ void sg_vm_migrate(simgrid::s4u::VirtualMachine* vm, simgrid::s4u::Host* dst_pm)
 
   vm->getImpl()->isMigrating = false;
 }
-}
+
+SG_END_DECL()