static void reset_dirty_pages(msg_vm_t vm)
{
- simgrid::surf::VirtualMachineImpl* pimpl = static_cast<simgrid::surf::VirtualMachineImpl*>(vm->pimpl_);
+ simgrid::surf::VirtualMachineImpl* pimpl = static_cast<simgrid::s4u::VirtualMachine*>(vm)->pimpl_vm_;
char *key = nullptr;
xbt_dict_cursor_t cursor = nullptr;
simgrid::s4u::VirtualMachine* vm = dynamic_cast<simgrid::s4u::VirtualMachine*>(host);
if (vm == nullptr)
return;
- simgrid::surf::VirtualMachineImpl* pimpl = static_cast<simgrid::surf::VirtualMachineImpl*>(vm->pimpl_);
+ simgrid::surf::VirtualMachineImpl* pimpl = static_cast<simgrid::s4u::VirtualMachine*>(vm)->pimpl_vm_;
double remaining = MSG_task_get_flops_amount(task);
char *key = bprintf("%s-%p", task->name, task);
simgrid::s4u::VirtualMachine* vm = dynamic_cast<simgrid::s4u::VirtualMachine*>(host);
if (vm == nullptr)
return;
- simgrid::surf::VirtualMachineImpl* pimpl = static_cast<simgrid::surf::VirtualMachineImpl*>(vm->pimpl_);
+ simgrid::surf::VirtualMachineImpl* pimpl = static_cast<simgrid::s4u::VirtualMachine*>(vm)->pimpl_vm_;
char *key = bprintf("%s-%p", task->name, task);
dirty_page_t dp = (dirty_page_t)(pimpl->dp_objs ? xbt_dict_get_or_null(pimpl->dp_objs, key) : NULL);
if (MSG_vm_is_migrating(vm))
THROWF(vm_error, 0, "VM(%s) is already migrating", sg_host_get_name(vm));
- simgrid::surf::VirtualMachineImpl* pimpl = static_cast<simgrid::surf::VirtualMachineImpl*>(vm->pimpl_);
+ simgrid::surf::VirtualMachineImpl* pimpl = static_cast<simgrid::s4u::VirtualMachine*>(vm)->pimpl_vm_;
pimpl->isMigrating = 1;
{
bool VirtualMachine::isMigrating()
{
- return static_cast<surf::VirtualMachineImpl*>(pimpl_)->isMigrating;
+ return pimpl_vm_->isMigrating;
}
/** @brief Retrieve a copy of the parameters of that VM/PM
* @details The ramsize and overcommit fields are used on the PM too */
void VirtualMachine::parameters(vm_params_t params)
{
- static_cast<surf::VirtualMachineImpl*>(pimpl_)->getParams(params);
+ pimpl_vm_->getParams(params);
}
/** @brief Sets the params of that VM/PM */
void VirtualMachine::setParameters(vm_params_t params)
{
- simgrid::simix::kernelImmediate([&]() { static_cast<surf::VirtualMachineImpl*>(pimpl_)->setParams(params); });
+ simgrid::simix::kernelImmediate([&]() { pimpl_vm_->setParams(params); });
}
} // namespace simgrid
host_list_cpy[i] = host_list[i];
/* Check that we are not mixing VMs and PMs in the parallel task */
- bool is_a_vm = (nullptr != dynamic_cast<simgrid::surf::VirtualMachineImpl*>(host_list[0]->pimpl_));
+ bool is_a_vm = (nullptr != dynamic_cast<simgrid::s4u::VirtualMachine*>(host_list[0]));
for (int i = 1; i < host_nb; i++) {
- bool tmp_is_a_vm = (nullptr != dynamic_cast<simgrid::surf::VirtualMachineImpl*>(host_list[i]->pimpl_));
+ bool tmp_is_a_vm = (nullptr != dynamic_cast<simgrid::s4u::VirtualMachine*>(host_list[i]));
xbt_assert(is_a_vm == tmp_is_a_vm, "parallel_execute: mixing VMs and PMs is not supported (yet).");
}
/* **************************** events callback *************************** */
static void onCreation(simgrid::s4u::Host& host) {
- if (dynamic_cast<simgrid::surf::VirtualMachineImpl*>(host.pimpl_)) // Ignore virtual machines
+ if (dynamic_cast<simgrid::s4u::VirtualMachine*>(&host)) // Ignore virtual machines
return;
host.extension_set(new HostEnergy(&host));
}
if(sghost == nullptr)
continue;
simgrid::surf::HostImpl* host = sghost->pimpl_;
- simgrid::surf::VirtualMachineImpl* vm = dynamic_cast<simgrid::surf::VirtualMachineImpl*>(host);
+ simgrid::s4u::VirtualMachine* vm = dynamic_cast<simgrid::s4u::VirtualMachine*>(sghost);
if (vm) // If it's a VM, take the corresponding PM
- host = vm->getPm()->pimpl_;
+ host = vm->pimpl_vm_->getPm()->pimpl_;
HostEnergy *host_energy = host->piface_->extension<HostEnergy>();
}
static void onHostStateChange(simgrid::s4u::Host &host) {
- if (dynamic_cast<simgrid::surf::VirtualMachineImpl*>(host.pimpl_)) // Ignore virtual machines
+ if (dynamic_cast<simgrid::s4u::VirtualMachine*>(&host)) // Ignore virtual machines
return;
HostEnergy *host_energy = host.extension<HostEnergy>();
static void onHostDestruction(simgrid::s4u::Host& host) {
// Ignore virtual machines
- if (dynamic_cast<simgrid::surf::VirtualMachineImpl*>(host.pimpl_))
+ if (dynamic_cast<simgrid::s4u::VirtualMachine*>(&host))
return;
HostEnergy *host_energy = host.extension<HostEnergy>();
host_energy->update();