X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/1847d1441271d076b3de449c8853031ea208ce8f..e6b086a2fdd22931c0a2c75fbba13c50821d108c:/src/msg/msg_vm.cpp diff --git a/src/msg/msg_vm.cpp b/src/msg/msg_vm.cpp index 8e46105ce7..1829b63a2a 100644 --- a/src/msg/msg_vm.cpp +++ b/src/msg/msg_vm.cpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2012-2015. The SimGrid Team. +/* Copyright (c) 2012-2017. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it @@ -173,7 +173,7 @@ void MSG_vm_destroy(msg_vm_t vm) if (TRACE_msg_vm_is_enabled()) { container_t container = PJ_container_get(vm->getCname()); PJ_container_remove_from_parent(container); - PJ_container_free(container); + delete container; } } @@ -187,9 +187,9 @@ void MSG_vm_start(msg_vm_t vm) vm->start(); if (TRACE_msg_vm_is_enabled()) { container_t vm_container = PJ_container_get(vm->getCname()); - type_t type = PJ_type_get("MSG_VM_STATE", vm_container->type); - value* val = value::get_or_new("start", "0 0 1", type); // start is blue - new PushStateEvent(MSG_get_clock(), vm_container, type, val); + 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 + new simgrid::instr::PushStateEvent(MSG_get_clock(), vm_container, type, val); } } @@ -296,28 +296,28 @@ static int migration_rx_fun(int argc, char *argv[]) // start link container_t msg = PJ_container_get(vm->getCname()); - type_t type = PJ_type_get("MSG_VM_LINK", PJ_type_get_root()); - new StartLinkEvent(MSG_get_clock(), PJ_container_get_root(), type, msg, "M", key); + simgrid::instr::Type* type = PJ_type_get_root()->getChild("MSG_VM_LINK"); + 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); - PJ_container_free(existing_container); + delete existing_container; // create new container on the new_host location - PJ_container_new(vm->getCname(), INSTR_MSG_VM, PJ_container_get(ms->dst_pm->getCname())); + new simgrid::instr::Container(vm->getCname(), simgrid::instr::INSTR_MSG_VM, + PJ_container_get(ms->dst_pm->getCname())); // end link msg = PJ_container_get(vm->getCname()); - type = PJ_type_get("MSG_VM_LINK", PJ_type_get_root()); - new EndLinkEvent(MSG_get_clock(), PJ_container_get_root(), type, msg, "M", key); + type = PJ_type_get_root()->getChild("MSG_VM_LINK"); + new simgrid::instr::EndLinkEvent(MSG_get_clock(), PJ_container_get_root(), type, msg, "M", key); } // Inform the SRC that the migration has been correctly performed 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); - // xbt_assert(ret == MSG_OK); 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 @@ -374,7 +374,6 @@ static double lookup_computed_flop_counts(msg_vm_t vm, int stage_for_fancy_debug double clock = MSG_get_clock(); - // total += calc_updated_pages(key, vm, dp, remaining, clock); total += get_computed(key, vm, dp, remaining, clock); dp->prev_remaining = remaining; @@ -432,7 +431,6 @@ void MSG_host_del_task(msg_host_t host, msg_task_t task) if (vm->pimpl_vm_->dp_enabled) { double remaining = MSG_task_get_flops_amount(task); double clock = MSG_get_clock(); - // double updated = calc_updated_pages(key, host, dp, remaining, clock); double updated = get_computed(key, vm, dp, remaining, clock); // was host instead of vm vm->pimpl_vm_->dp_updated_by_deleted_tasks += updated; @@ -498,8 +496,6 @@ static sg_size_t get_updated_size(double computed, double dp_rate, double 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_INFO("mig-stage2.%d: %f bytes updated, but cap it with the working set size %f", stage2_round, updated_size, - // dp_cap); updated_size = dp_cap; } @@ -774,9 +770,9 @@ void MSG_vm_suspend(msg_vm_t vm) if (TRACE_msg_vm_is_enabled()) { container_t vm_container = PJ_container_get(vm->getCname()); - type_t type = PJ_type_get("MSG_VM_STATE", vm_container->type); - value* val = value::get_or_new("suspend", "1 0 0", type); // suspend is red - new PushStateEvent(MSG_get_clock(), vm_container, type, val); + 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 + new simgrid::instr::PushStateEvent(MSG_get_clock(), vm_container, type, val); } } @@ -791,8 +787,8 @@ void MSG_vm_resume(msg_vm_t vm) if (TRACE_msg_vm_is_enabled()) { container_t vm_container = PJ_container_get(vm->getCname()); - type_t type = PJ_type_get("MSG_VM_STATE", vm_container->type); - new PopStateEvent(MSG_get_clock(), vm_container, type); + simgrid::instr::Type* type = vm_container->type_->getChild("MSG_VM_STATE"); + new simgrid::instr::PopStateEvent(MSG_get_clock(), vm_container, type); } }