-/* Copyright (c) 2013-2015. The SimGrid Team.
+/* Copyright (c) 2013-2017. The SimGrid Team.
* All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
#include "src/plugins/vm/VirtualMachineImpl.hpp"
#include "src/simix/ActorImpl.hpp"
-#include "src/simix/smx_host_private.h"
+#include "src/simix/smx_host_private.hpp"
+
+#include <xbt/asserts.h> // xbt_log_no_loc
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_vm, surf, "Logging specific to the SURF VM module");
* The total CPU share these processes get is smaller than that of the VM process gets on a host operating system.
* FIXME: add a configuration flag for this
*/
-// const double virt_overhead = 0.95;
-const double virt_overhead = 1;
+const double virt_overhead = 1; // 0.95
static void hostStateChange(s4u::Host& host)
{
->value; // this is X1 in comment above, what this VM got in the sharing on the PM
XBT_DEBUG("assign %f to vm %s @ pm %s", solved_value, ws_vm->getCname(), ws_vm->pimpl_vm_->getPm()->getCname());
- // TODO: check lmm_update_constraint_bound() works fine instead of the below manual substitution.
- // cpu_cas01->constraint->bound = solved_value;
xbt_assert(cpu->model() == surf_cpu_model_vm);
lmm_system_t vcpu_system = cpu->model()->getMaxminSystem();
lmm_update_constraint_bound(vcpu_system, cpu->constraint(), virt_overhead * solved_value);
XBT_VERB("Create VM(%s)@PM(%s)", piface->getCname(), hostPM_->getCname());
}
-extern "C" int
- xbt_log_no_loc; /* ugly pimpl to ensure that the debug info in the known issue below don't break the test */
/** @brief A physical host does not disappear in the current SimGrid code, but a VM may disappear during a simulation */
VirtualMachineImpl::~VirtualMachineImpl()
{
if (getState() != SURF_VM_STATE_RUNNING)
THROWF(vm_error, 0, "Cannot suspend VM %s: it is not running.", piface_->getCname());
if (issuer->host == piface_)
- THROWF(vm_error, 0, "Actor %s cannot suspend the VM %s in which it runs", issuer->cname(), piface_->getCname());
+ THROWF(vm_error, 0, "Actor %s cannot suspend the VM %s in which it runs", issuer->getCname(), piface_->getCname());
xbt_swag_t process_list = piface_->extension<simgrid::simix::Host>()->process_list;
XBT_DEBUG("suspend VM(%s), where %d processes exist", piface_->getCname(), xbt_swag_size(process_list));
smx_actor_t smx_process;
smx_actor_t smx_process_safe;
xbt_swag_foreach_safe(smx_process, smx_process_safe, process_list) {
- XBT_DEBUG("resume %s", smx_process->cname());
+ XBT_DEBUG("resume %s", smx_process->getCname());
smx_process->resume();
}
smx_actor_t smx_process;
smx_actor_t smx_process_safe;
xbt_swag_foreach_safe(smx_process, smx_process_safe, process_list) {
- XBT_DEBUG("kill %s@%s on behalf of %s which shutdown that VM.", smx_process->cname(), smx_process->host->getCname(),
- issuer->cname());
+ XBT_DEBUG("kill %s@%s on behalf of %s which shutdown that VM.", smx_process->getCname(),
+ smx_process->host->getCname(), issuer->getCname());
SIMIX_process_kill(smx_process, issuer);
}