X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/e27cc1baa2d77aba6b3b736876916df5b1b35e68..17c819afc4ceda4000eec137c8fee35168253b4d:/src/plugins/vm/s4u_VirtualMachine.cpp diff --git a/src/plugins/vm/s4u_VirtualMachine.cpp b/src/plugins/vm/s4u_VirtualMachine.cpp index ef0d95c4c5..6f436a5459 100644 --- a/src/plugins/vm/s4u_VirtualMachine.cpp +++ b/src/plugins/vm/s4u_VirtualMachine.cpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2015-2017. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2015-2018. The SimGrid Team. All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ @@ -9,7 +9,6 @@ #include "src/plugins/vm/VmHostExt.hpp" #include "src/simix/smx_host_private.hpp" #include "src/surf/cpu_cas01.hpp" -#include XBT_LOG_NEW_DEFAULT_CATEGORY(s4u_vm, "S4U virtual machines"); @@ -40,11 +39,13 @@ VirtualMachine::VirtualMachine(const char* name, s4u::Host* pm, int coreAmount, /* Make a process container */ extension_set(new simgrid::simix::Host()); - if (TRACE_msg_vm_is_enabled()) { - container_t host_container = instr::Container::byName(pm->getName()); + if (TRACE_vm_is_enabled()) { + container_t host_container = instr::Container::byName(pm->get_name()); new instr::Container(name, "MSG_VM", host_container); - instr::Container::byName(getName())->getState("MSG_VM_STATE")->addEntityValue("start", "0 0 1"); // start is blue - instr::Container::byName(getName())->getState("MSG_VM_STATE")->addEntityValue("suspend", "1 0 0"); // suspend is red + instr::Container::byName(get_name())->getState("MSG_VM_STATE")->addEntityValue("start", "0 0 1"); // start is blue + instr::Container::byName(get_name()) + ->getState("MSG_VM_STATE") + ->addEntityValue("suspend", "1 0 0"); // suspend is red } } @@ -52,7 +53,7 @@ VirtualMachine::~VirtualMachine() { onDestruction(*this); - XBT_DEBUG("destroy %s", getCname()); + XBT_DEBUG("destroy %s", get_cname()); /* FIXME: this is really strange that everything fails if the next line is removed. * This is as if we shared these data with the PM, which definitely should not be the case... @@ -65,17 +66,14 @@ VirtualMachine::~VirtualMachine() /* Don't free these things twice: they are the ones of my physical host */ pimpl_netpoint = nullptr; - if (TRACE_msg_vm_is_enabled()) { - container_t container = simgrid::instr::Container::byName(getName()); - container->removeFromParent(); - delete container; - } + if (TRACE_vm_is_enabled()) + simgrid::instr::Container::byName(get_name())->removeFromParent(); } void VirtualMachine::start() { - if (TRACE_msg_vm_is_enabled()) - simgrid::instr::Container::byName(getName())->getState("MSG_VM_STATE")->pushEvent("start"); + if (TRACE_vm_is_enabled()) + simgrid::instr::Container::byName(get_name())->getState("MSG_VM_STATE")->pushEvent("start"); simgrid::simix::kernelImmediate([this]() { simgrid::vm::VmHostExt::ensureVmExtInstalled(); @@ -97,33 +95,33 @@ void VirtualMachine::start() if (vm_ramsize > pm_ramsize - total_ramsize_of_vms) { XBT_WARN("cannnot start %s@%s due to memory shortage: vm_ramsize %ld, free %ld, pm_ramsize %ld (bytes).", - this->getCname(), pm->getCname(), vm_ramsize, pm_ramsize - total_ramsize_of_vms, pm_ramsize); - THROWF(vm_error, 0, "Memory shortage on host '%s', VM '%s' cannot be started", pm->getCname(), - this->getCname()); + this->get_cname(), pm->get_cname(), vm_ramsize, pm_ramsize - total_ramsize_of_vms, pm_ramsize); + THROWF(vm_error, 0, "Memory shortage on host '%s', VM '%s' cannot be started", pm->get_cname(), + this->get_cname()); } } this->pimpl_vm_->setState(SURF_VM_STATE_RUNNING); }); - if (TRACE_msg_vm_is_enabled()) - simgrid::instr::Container::byName(getName())->getState("MSG_VM_STATE")->popEvent(); + if (TRACE_vm_is_enabled()) + simgrid::instr::Container::byName(get_name())->getState("MSG_VM_STATE")->popEvent(); } void VirtualMachine::suspend() { smx_actor_t issuer = SIMIX_process_self(); simgrid::simix::kernelImmediate([this, issuer]() { pimpl_vm_->suspend(issuer); }); - if (TRACE_msg_vm_is_enabled()) - simgrid::instr::Container::byName(getName())->getState("MSG_VM_STATE")->pushEvent("suspend"); + if (TRACE_vm_is_enabled()) + simgrid::instr::Container::byName(get_name())->getState("MSG_VM_STATE")->pushEvent("suspend"); XBT_DEBUG("vm_suspend done"); } void VirtualMachine::resume() { pimpl_vm_->resume(); - if (TRACE_msg_vm_is_enabled()) - simgrid::instr::Container::byName(getName())->getState("MSG_VM_STATE")->popEvent(); + if (TRACE_vm_is_enabled()) + simgrid::instr::Container::byName(get_name())->getState("MSG_VM_STATE")->popEvent(); } void VirtualMachine::shutdown() @@ -202,18 +200,17 @@ void VirtualMachine::setBound(double bound) /* **************************** Public C interface *************************** */ -SG_BEGIN_DECL() /** @brief Create a new VM object with the default parameters * A VM is treated as a host. The name of the VM must be unique among all hosts. */ -msg_vm_t sg_vm_create_core(sg_host_t pm, const char* name) +sg_vm_t sg_vm_create_core(sg_host_t pm, const char* name) { return sg_vm_create_multicore(pm, name, 1); } /** @brief Create a new VM object with the default parameters, but with a specified amount of cores * A VM is treated as a host. The name of the VM must be unique among all hosts. */ -msg_vm_t sg_vm_create_multicore(sg_host_t pm, const char* name, int coreAmount) +sg_vm_t sg_vm_create_multicore(sg_host_t pm, const char* name, int coreAmount) { xbt_assert(sg_host_by_name(name) == nullptr, "Cannot create a VM named %s: this name is already used by an host or a VM", name); @@ -223,7 +220,7 @@ msg_vm_t sg_vm_create_multicore(sg_host_t pm, const char* name, int coreAmount) const char* sg_vm_get_name(sg_vm_t vm) { - return vm->getCname(); + return vm->get_cname(); } /** @brief Get the physical host of a given VM. */ @@ -308,4 +305,3 @@ void sg_vm_destroy(sg_vm_t vm) { vm->destroy(); } -SG_END_DECL()