#include "src/plugins/vm/VirtualMachineImpl.hpp"
#include "src/plugins/vm/VmHostExt.hpp"
#include "simgrid/host.h"
#include "simgrid/simix.hpp"
#include "src/plugins/vm/VirtualMachineImpl.hpp"
#include "src/plugins/vm/VmHostExt.hpp"
#include "simgrid/host.h"
#include "simgrid/simix.hpp"
- container_t container = PJ_container_get(vm->getCname());
- PJ_container_remove_from_parent(container);
+ container_t container = simgrid::instr::Container::byName(vm->getName());
+ container->removeFromParent();
- container_t vm_container = PJ_container_get(vm->getCname());
- simgrid::instr::Type* type = vm_container->type_->getChild("MSG_VM_STATE");
- simgrid::instr::Value* val = simgrid::instr::Value::get_or_new("start", "0 0 1", type); // start is blue
+ container_t vm_container = simgrid::instr::Container::byName(vm->getName());
+ simgrid::instr::Type* type = vm_container->type_->byName("MSG_VM_STATE");
+ simgrid::instr::Value* val = simgrid::instr::Value::byNameOrCreate("start", "0 0 1", type); // start is blue
new simgrid::instr::PushStateEvent(MSG_get_clock(), vm_container, type, val);
}
}
new simgrid::instr::PushStateEvent(MSG_get_clock(), vm_container, type, val);
}
}
XBT_DEBUG("mig: rx_start");
// The structure has been created in the do_migration function and should only be freed in the same place ;)
XBT_DEBUG("mig: rx_start");
// The structure has been created in the do_migration function and should only be freed in the same place ;)
- container_t msg = PJ_container_get(vm->getCname());
- simgrid::instr::Type* type = PJ_type_get_root()->getChild("MSG_VM_LINK");
+ container_t msg = simgrid::instr::Container::byName(vm->getName());
+ simgrid::instr::Type* type = simgrid::instr::Type::getRootType()->byName("MSG_VM_LINK");
new simgrid::instr::StartLinkEvent(MSG_get_clock(), PJ_container_get_root(), type, msg, "M", key);
// destroy existing container of this vm
new simgrid::instr::StartLinkEvent(MSG_get_clock(), PJ_container_get_root(), type, msg, "M", key);
// destroy existing container of this vm
- container_t existing_container = PJ_container_get(vm->getCname());
- PJ_container_remove_from_parent(existing_container);
+ container_t existing_container = simgrid::instr::Container::byName(vm->getName());
+ existing_container->removeFromParent();
delete existing_container;
// create new container on the new_host location
new simgrid::instr::Container(vm->getCname(), simgrid::instr::INSTR_MSG_VM,
delete existing_container;
// create new container on the new_host location
new simgrid::instr::Container(vm->getCname(), simgrid::instr::INSTR_MSG_VM,
- msg = PJ_container_get(vm->getCname());
- type = PJ_type_get_root()->getChild("MSG_VM_LINK");
+ msg = simgrid::instr::Container::byName(vm->getName());
+ type = simgrid::instr::Type::getRootType()->byName("MSG_VM_LINK");
new simgrid::instr::EndLinkEvent(MSG_get_clock(), PJ_container_get_root(), type, msg, "M", key);
}
new simgrid::instr::EndLinkEvent(MSG_get_clock(), PJ_container_get_root(), type, msg, "M", key);
}
std::string task_name = get_mig_task_name(ms->vm, ms->src_pm, ms->dst_pm, 4);
msg_task_t task = MSG_task_create(task_name.c_str(), 0, 0, nullptr);
msg_error_t ret = MSG_task_send(task, ms->mbox_ctl);
std::string task_name = get_mig_task_name(ms->vm, ms->src_pm, ms->dst_pm, 4);
msg_task_t task = MSG_task_create(task_name.c_str(), 0, 0, nullptr);
msg_error_t ret = MSG_task_send(task, ms->mbox_ctl);
if(ret == MSG_HOST_FAILURE){
// The DST has crashed, this is a problem has the VM since we are not sure whether SRC is considering that the VM
// has been correctly migrated on the DST node
if(ret == MSG_HOST_FAILURE){
// The DST has crashed, this is a problem has the VM since we are not sure whether SRC is considering that the VM
// has been correctly migrated on the DST node
total += get_computed(key, vm, dp, remaining, clock);
dp->prev_remaining = remaining;
total += get_computed(key, vm, dp, remaining, clock);
dp->prev_remaining = remaining;
if (vm->pimpl_vm_->dp_enabled) {
double remaining = MSG_task_get_flops_amount(task);
double clock = MSG_get_clock();
if (vm->pimpl_vm_->dp_enabled) {
double remaining = MSG_task_get_flops_amount(task);
double clock = MSG_get_clock();
double updated = get_computed(key, vm, dp, remaining, clock); // was host instead of vm
vm->pimpl_vm_->dp_updated_by_deleted_tasks += updated;
double updated = get_computed(key, vm, dp, remaining, clock); // was host instead of vm
vm->pimpl_vm_->dp_updated_by_deleted_tasks += updated;
double updated_size = computed * dp_rate;
XBT_DEBUG("updated_size %f dp_rate %f", updated_size, dp_rate);
if (updated_size > dp_cap) {
double updated_size = computed * dp_rate;
XBT_DEBUG("updated_size %f dp_rate %f", updated_size, dp_rate);
if (updated_size > dp_cap) {
XBT_DEBUG("mig: tx_start");
// Note that the ms structure has been allocated in do_migration and hence should be freed in the same function ;)
XBT_DEBUG("mig: tx_start");
// Note that the ms structure has been allocated in do_migration and hence should be freed in the same function ;)
- container_t vm_container = PJ_container_get(vm->getCname());
- simgrid::instr::Type* type = vm_container->type_->getChild("MSG_VM_STATE");
- simgrid::instr::Value* val = simgrid::instr::Value::get_or_new("suspend", "1 0 0", type); // suspend is red
+ container_t vm_container = simgrid::instr::Container::byName(vm->getName());
+ simgrid::instr::Type* type = vm_container->type_->byName("MSG_VM_STATE");
+ simgrid::instr::Value* val = simgrid::instr::Value::byNameOrCreate("suspend", "1 0 0", type); // suspend is red
new simgrid::instr::PushStateEvent(MSG_get_clock(), vm_container, type, val);
}
}
new simgrid::instr::PushStateEvent(MSG_get_clock(), vm_container, type, val);
}
}
- container_t vm_container = PJ_container_get(vm->getCname());
- simgrid::instr::Type* type = vm_container->type_->getChild("MSG_VM_STATE");
+ container_t vm_container = simgrid::instr::Container::byName(vm->getName());
+ simgrid::instr::Type* type = vm_container->type_->byName("MSG_VM_STATE");