});
if (TRACE_msg_vm_is_enabled()) {
- container_t container = PJ_container_get(vm->name().c_str());
+ container_t container = PJ_container_get(vm->cname());
PJ_container_remove_from_parent(container);
PJ_container_free(container);
}
});
if (TRACE_msg_vm_is_enabled()) {
- container_t vm_container = PJ_container_get(vm->name().c_str());
+ container_t vm_container = PJ_container_get(vm->cname());
type_t type = PJ_type_get("MSG_VM_STATE", vm_container->type);
val_t value = PJ_value_get_or_new("start", "0 0 1", type); // start is blue
new_pajePushState(MSG_get_clock(), vm_container, type, value);
simgrid::simix::kernelImmediate([vm, src_pm, dst_pm]() {
/* Update the vm location */
/* precopy migration makes the VM temporally paused */
- xbt_assert(static_cast<simgrid::s4u::VirtualMachine*>(vm)->pimpl_vm_->getState() == SURF_VM_STATE_SUSPENDED);
+ xbt_assert(vm->pimpl_vm_->getState() == SURF_VM_STATE_SUSPENDED);
/* jump to vm_ws_xigrate(). this will update the vm location. */
- static_cast<simgrid::s4u::VirtualMachine*>(vm)->pimpl_vm_->migrate(dst_pm);
+ vm->pimpl_vm_->migrate(dst_pm);
/* Resume the VM */
SIMIX_vm_resume(vm);
PJ_container_new(vm->cname(), INSTR_MSG_VM, PJ_container_get(ms->dst_pm->cname()));
// end link
- msg = PJ_container_get(vm->name().c_str());
+ msg = PJ_container_get(vm->cname());
type = PJ_type_get("MSG_VM_LINK", PJ_type_get_root());
new_pajeEndLink(MSG_get_clock(), PJ_container_get_root(), type, msg, "M", key);
}
void MSG_vm_restore(msg_vm_t vm)
{
simgrid::simix::kernelImmediate([vm]() {
- if (static_cast<simgrid::s4u::VirtualMachine*>(vm)->pimpl_vm_->getState() != SURF_VM_STATE_SAVED)
- THROWF(vm_error, 0, "VM(%s) was not saved", vm->name().c_str());
-
- XBT_DEBUG("restore VM(%s), where %d processes exist", vm->name().c_str(),
- xbt_swag_size(sg_host_simix(vm)->process_list));
-
- /* jump to vm_ws_restore() */
static_cast<simgrid::s4u::VirtualMachine*>(vm)->pimpl_vm_->restore();
-
- smx_actor_t smx_process, smx_process_safe;
- xbt_swag_foreach_safe(smx_process, smx_process_safe, sg_host_simix(vm)->process_list)
- {
- XBT_DEBUG("resume %s", smx_process->name.c_str());
- SIMIX_process_resume(smx_process);
- }
});
if (TRACE_msg_vm_is_enabled()) {
*/
msg_host_t MSG_vm_get_pm(msg_vm_t vm)
{
- return static_cast<simgrid::s4u::VirtualMachine*>(vm)->pimpl_vm_->getPm();
+ return static_cast<simgrid::s4u::VirtualMachine*>(vm)->pm();
}
/** @brief Set a CPU bound for a given VM.