-/* Copyright (c) 2013-2017. The SimGrid Team.
- * All rights reserved. */
+/* Copyright (c) 2013-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. */
if (vm->getPm() == &host)
trash.push_back(vm);
for (s4u::VirtualMachine* vm : trash)
- vm->pimpl_vm_->shutdown(SIMIX_process_self());
+ vm->shutdown();
}
}
VMModel::VMModel()
s4u::Host::onStateChange.connect(hostStateChange);
}
-double VMModel::nextOccuringEvent(double now)
+double VMModel::next_occuring_event(double now)
{
/* TODO: update action's cost with the total cost of processes on the VM. */
surf::Cpu* cpu = ws_vm->pimpl_cpu;
xbt_assert(cpu, "cpu-less host");
- double solved_value = ws_vm->pimpl_vm_->action_->getVariable()->get_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());
+ double solved_value =
+ ws_vm->getImpl()->action_->get_variable()->get_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->getPm()->getCname());
xbt_assert(cpu->model() == surf_cpu_model_vm);
- lmm_system_t vcpu_system = cpu->model()->getMaxminSystem();
+ kernel::lmm::System* vcpu_system = cpu->model()->get_maxmin_system();
vcpu_system->update_constraint_bound(cpu->constraint(), virt_overhead * solved_value);
}
/* 2. Calculate resource share at the virtual machine layer. */
- ignoreEmptyVmInPmLMM();
+ ignore_empty_vm_in_pm_LMM();
/* 3. Ready. Get the next occurring event */
- return surf_cpu_model_vm->nextOccuringEvent(now);
+ return surf_cpu_model_vm->next_occuring_event(now);
}
/************
{
vmState_ = state;
}
+
void VirtualMachineImpl::suspend(smx_actor_t issuer)
{
- if (isMigrating)
- THROWF(vm_error, 0, "Cannot suspend VM '%s': it is migrating", piface_->getCname());
if (getState() != SURF_VM_STATE_RUNNING)
THROWF(vm_error, 0, "Cannot suspend VM %s: it is not running.", piface_->getCname());
if (issuer->host == piface_)
surf::CpuAction* new_cpu_action =
static_cast<surf::CpuAction*>(destination->pimpl_cpu->execution_start(0, this->coreAmount_));
- if (action_->getRemainsNoUpdate() > 0)
- XBT_CRITICAL("FIXME: need copy the state(?), %f", action_->getRemainsNoUpdate());
+ if (action_->get_remains_no_update() > 0)
+ XBT_CRITICAL("FIXME: need copy the state(?), %f", action_->get_remains_no_update());
/* keep the bound value of the cpu action of the VM. */
- double old_bound = action_->getBound();
+ double old_bound = action_->get_bound();
if (old_bound > 0) {
XBT_DEBUG("migrate VM(%s): set bound (%f) at %s", vm_name, old_bound, pm_name_dst);
- new_cpu_action->setBound(old_bound);
+ new_cpu_action->set_bound(old_bound);
}
XBT_ATTRIB_UNUSED int ret = action_->unref();
void VirtualMachineImpl::setBound(double bound)
{
- action_->setBound(bound);
-}
-
-void VirtualMachineImpl::getParams(vm_params_t params)
-{
- *params = params_;
+ action_->set_bound(bound);
}
-void VirtualMachineImpl::setParams(vm_params_t params)
-{
- /* may check something here. */
- params_ = *params;
-}
}
}