From 9a1d240905662db2c6e462c25315b5187b446538 Mon Sep 17 00:00:00 2001 From: Martin Quinson Date: Mon, 21 Nov 2016 08:33:38 +0100 Subject: [PATCH] The VirtualMachineImpl is stored in VirtualMachine->pimpl_vm_, not in Host->pimpl_ --- src/msg/msg_vm.cpp | 8 ++++---- src/plugins/vm/s4u_VirtualMachine.cpp | 6 +++--- src/simix/smx_host.cpp | 4 ++-- src/surf/plugins/energy.cpp | 10 +++++----- 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/msg/msg_vm.cpp b/src/msg/msg_vm.cpp index 401543926d..b91f255b5a 100644 --- a/src/msg/msg_vm.cpp +++ b/src/msg/msg_vm.cpp @@ -396,7 +396,7 @@ static int migration_rx_fun(int argc, char *argv[]) static void reset_dirty_pages(msg_vm_t vm) { - simgrid::surf::VirtualMachineImpl* pimpl = static_cast(vm->pimpl_); + simgrid::surf::VirtualMachineImpl* pimpl = static_cast(vm)->pimpl_vm_; char *key = nullptr; xbt_dict_cursor_t cursor = nullptr; @@ -473,7 +473,7 @@ void MSG_host_add_task(msg_host_t host, msg_task_t task) simgrid::s4u::VirtualMachine* vm = dynamic_cast(host); if (vm == nullptr) return; - simgrid::surf::VirtualMachineImpl* pimpl = static_cast(vm->pimpl_); + simgrid::surf::VirtualMachineImpl* pimpl = static_cast(vm)->pimpl_vm_; double remaining = MSG_task_get_flops_amount(task); char *key = bprintf("%s-%p", task->name, task); @@ -498,7 +498,7 @@ void MSG_host_del_task(msg_host_t host, msg_task_t task) simgrid::s4u::VirtualMachine* vm = dynamic_cast(host); if (vm == nullptr) return; - simgrid::surf::VirtualMachineImpl* pimpl = static_cast(vm->pimpl_); + simgrid::surf::VirtualMachineImpl* pimpl = static_cast(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); @@ -885,7 +885,7 @@ void MSG_vm_migrate(msg_vm_t vm, msg_host_t new_pm) 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(vm->pimpl_); + simgrid::surf::VirtualMachineImpl* pimpl = static_cast(vm)->pimpl_vm_; pimpl->isMigrating = 1; { diff --git a/src/plugins/vm/s4u_VirtualMachine.cpp b/src/plugins/vm/s4u_VirtualMachine.cpp index f1c99cd321..52fcf02970 100644 --- a/src/plugins/vm/s4u_VirtualMachine.cpp +++ b/src/plugins/vm/s4u_VirtualMachine.cpp @@ -62,19 +62,19 @@ VirtualMachine::~VirtualMachine() bool VirtualMachine::isMigrating() { - return static_cast(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(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(pimpl_)->setParams(params); }); + simgrid::simix::kernelImmediate([&]() { pimpl_vm_->setParams(params); }); } } // namespace simgrid diff --git a/src/simix/smx_host.cpp b/src/simix/smx_host.cpp index cc6e2824a7..014a49d91b 100644 --- a/src/simix/smx_host.cpp +++ b/src/simix/smx_host.cpp @@ -203,9 +203,9 @@ smx_activity_t SIMIX_execution_parallel_start(const char* name, int host_nb, sg_ 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(host_list[0]->pimpl_)); + bool is_a_vm = (nullptr != dynamic_cast(host_list[0])); for (int i = 1; i < host_nb; i++) { - bool tmp_is_a_vm = (nullptr != dynamic_cast(host_list[i]->pimpl_)); + bool tmp_is_a_vm = (nullptr != dynamic_cast(host_list[i])); xbt_assert(is_a_vm == tmp_is_a_vm, "parallel_execute: mixing VMs and PMs is not supported (yet)."); } diff --git a/src/surf/plugins/energy.cpp b/src/surf/plugins/energy.cpp index d0d1d32f71..1cfbf5e184 100644 --- a/src/surf/plugins/energy.cpp +++ b/src/surf/plugins/energy.cpp @@ -233,7 +233,7 @@ void HostEnergy::initWattsRangeList() /* **************************** events callback *************************** */ static void onCreation(simgrid::s4u::Host& host) { - if (dynamic_cast(host.pimpl_)) // Ignore virtual machines + if (dynamic_cast(&host)) // Ignore virtual machines return; host.extension_set(new HostEnergy(&host)); } @@ -245,9 +245,9 @@ static void onActionStateChange(simgrid::surf::CpuAction *action, simgrid::surf: if(sghost == nullptr) continue; simgrid::surf::HostImpl* host = sghost->pimpl_; - simgrid::surf::VirtualMachineImpl* vm = dynamic_cast(host); + simgrid::s4u::VirtualMachine* vm = dynamic_cast(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(); @@ -257,7 +257,7 @@ static void onActionStateChange(simgrid::surf::CpuAction *action, simgrid::surf: } static void onHostStateChange(simgrid::s4u::Host &host) { - if (dynamic_cast(host.pimpl_)) // Ignore virtual machines + if (dynamic_cast(&host)) // Ignore virtual machines return; HostEnergy *host_energy = host.extension(); @@ -268,7 +268,7 @@ static void onHostStateChange(simgrid::s4u::Host &host) { static void onHostDestruction(simgrid::s4u::Host& host) { // Ignore virtual machines - if (dynamic_cast(host.pimpl_)) + if (dynamic_cast(&host)) return; HostEnergy *host_energy = host.extension(); host_energy->update(); -- 2.20.1