DESTROYED
};
- vm::VirtualMachineImpl* get_impl() const { return pimpl_vm_; }
+ vm::VirtualMachineImpl* get_vm_impl() const { return pimpl_vm_; }
void start();
void suspend();
void resume();
if (vm == nullptr)
return;
- if (vm->get_impl()->extension<simgrid::vm::DirtyPageTrackingExt>()->is_tracking()) {
- vm->get_impl()->extension<simgrid::vm::DirtyPageTrackingExt>()->track(exec, exec->get_remaining());
+ if (vm->get_vm_impl()->extension<simgrid::vm::DirtyPageTrackingExt>()->is_tracking()) {
+ vm->get_vm_impl()->extension<simgrid::vm::DirtyPageTrackingExt>()->track(exec, exec->get_remaining());
} else {
- vm->get_impl()->extension<simgrid::vm::DirtyPageTrackingExt>()->track(exec, 0.0);
+ vm->get_vm_impl()->extension<simgrid::vm::DirtyPageTrackingExt>()->track(exec, 0.0);
}
}
/* If we are in the middle of dirty page tracking, we record how much computation has been done until now, and keep
* the information for the lookup_() function that will called soon. */
- if (vm->get_impl()->extension<simgrid::vm::DirtyPageTrackingExt>()->is_tracking()) {
- double delta = vm->get_impl()->extension<simgrid::vm::DirtyPageTrackingExt>()->get_stored_remains(exec);
- vm->get_impl()->extension<simgrid::vm::DirtyPageTrackingExt>()->update_dirty_page_count(delta);
+ if (vm->get_vm_impl()->extension<simgrid::vm::DirtyPageTrackingExt>()->is_tracking()) {
+ double delta = vm->get_vm_impl()->extension<simgrid::vm::DirtyPageTrackingExt>()->get_stored_remains(exec);
+ vm->get_vm_impl()->extension<simgrid::vm::DirtyPageTrackingExt>()->update_dirty_page_count(delta);
}
- vm->get_impl()->extension<simgrid::vm::DirtyPageTrackingExt>()->untrack(exec);
+ vm->get_vm_impl()->extension<simgrid::vm::DirtyPageTrackingExt>()->untrack(exec);
}
void sg_vm_dirty_page_tracking_init()
void sg_vm_start_dirty_page_tracking(const_sg_vm_t vm)
{
- vm->get_impl()->extension<simgrid::vm::DirtyPageTrackingExt>()->start_tracking();
+ vm->get_vm_impl()->extension<simgrid::vm::DirtyPageTrackingExt>()->start_tracking();
}
void sg_vm_stop_dirty_page_tracking(const_sg_vm_t vm)
{
- vm->get_impl()->extension<simgrid::vm::DirtyPageTrackingExt>()->stop_tracking();
+ vm->get_vm_impl()->extension<simgrid::vm::DirtyPageTrackingExt>()->stop_tracking();
}
double sg_vm_lookup_computed_flops(const_sg_vm_t vm)
{
- return vm->get_impl()->extension<simgrid::vm::DirtyPageTrackingExt>()->computed_flops_lookup();
+ return vm->get_vm_impl()->extension<simgrid::vm::DirtyPageTrackingExt>()->computed_flops_lookup();
}
void sg_vm_set_dirty_page_intensity(const_sg_vm_t vm, double intensity)
{
- vm->get_impl()->extension<simgrid::vm::DirtyPageTrackingExt>()->set_intensity(intensity);
+ vm->get_vm_impl()->extension<simgrid::vm::DirtyPageTrackingExt>()->set_intensity(intensity);
}
double sg_vm_get_dirty_page_intensity(const_sg_vm_t vm)
{
- return vm->get_impl()->extension<simgrid::vm::DirtyPageTrackingExt>()->get_intensity();
+ return vm->get_vm_impl()->extension<simgrid::vm::DirtyPageTrackingExt>()->get_intensity();
}
void sg_vm_set_working_set_memory(const_sg_vm_t vm, sg_size_t size)
{
- vm->get_impl()->extension<simgrid::vm::DirtyPageTrackingExt>()->set_working_set_memory(size);
+ vm->get_vm_impl()->extension<simgrid::vm::DirtyPageTrackingExt>()->set_working_set_memory(size);
}
sg_size_t sg_vm_get_working_set_memory(const_sg_vm_t vm)
{
- return vm->get_impl()->extension<simgrid::vm::DirtyPageTrackingExt>()->get_working_set_memory();
+ return vm->get_vm_impl()->extension<simgrid::vm::DirtyPageTrackingExt>()->get_working_set_memory();
}
void sg_vm_set_migration_speed(const_sg_vm_t vm, double speed)
{
- vm->get_impl()->extension<simgrid::vm::DirtyPageTrackingExt>()->set_migration_speed(speed);
+ vm->get_vm_impl()->extension<simgrid::vm::DirtyPageTrackingExt>()->set_migration_speed(speed);
}
double sg_vm_get_migration_speed(const_sg_vm_t vm)
{
- return vm->get_impl()->extension<simgrid::vm::DirtyPageTrackingExt>()->get_migration_speed();
+ return vm->get_vm_impl()->extension<simgrid::vm::DirtyPageTrackingExt>()->get_migration_speed();
}
double sg_vm_get_max_downtime(const_sg_vm_t vm)
{
- return vm->get_impl()->extension<simgrid::vm::DirtyPageTrackingExt>()->get_max_downtime();
+ return vm->get_vm_impl()->extension<simgrid::vm::DirtyPageTrackingExt>()->get_max_downtime();
}
{
const s4u::VirtualMachine* vm = dynamic_cast<s4u::VirtualMachine*>(task.get_host());
if (vm != nullptr) {
- VirtualMachineImpl* vm_impl = vm->get_impl();
+ VirtualMachineImpl* vm_impl = vm->get_vm_impl();
vm_impl->add_active_exec();
vm_impl->update_action_weight();
}
{
const s4u::VirtualMachine* vm = dynamic_cast<s4u::VirtualMachine*>(task.get_host());
if (vm != nullptr) {
- VirtualMachineImpl* vm_impl = vm->get_impl();
+ VirtualMachineImpl* vm_impl = vm->get_vm_impl();
vm_impl->remove_active_exec();
vm_impl->update_action_weight();
}
{
const s4u::VirtualMachine* vm = get_vm_from_activity(act);
if (vm != nullptr) {
- VirtualMachineImpl* vm_impl = vm->get_impl();
+ VirtualMachineImpl* vm_impl = vm->get_vm_impl();
vm_impl->add_active_exec();
vm_impl->update_action_weight();
}
{
const s4u::VirtualMachine* vm = get_vm_from_activity(act);
if (vm != nullptr) {
- VirtualMachineImpl* vm_impl = vm->get_impl();
+ VirtualMachineImpl* vm_impl = vm->get_vm_impl();
vm_impl->remove_active_exec();
vm_impl->update_action_weight();
}
const kernel::resource::Cpu* cpu = ws_vm->pimpl_cpu;
// solved_value below is X1 in comment above: what this VM got in the sharing on the PM
- double solved_value = ws_vm->get_impl()->get_action()->get_variable()->get_value();
+ double solved_value = ws_vm->get_vm_impl()->get_action()->get_variable()->get_value();
XBT_DEBUG("assign %f to vm %s @ pm %s", solved_value, ws_vm->get_cname(), ws_vm->get_pm()->get_cname());
kernel::lmm::System* vcpu_system = cpu->get_model()->get_maxmin_system();
vm_->resume();
// Now the VM is running on the new host (the migration is completed) (even if the SRC crash)
- vm_->get_impl()->end_migration();
+ vm_->get_vm_impl()->end_migration();
XBT_DEBUG("VM(%s) moved from PM(%s) to PM(%s)", vm_->get_cname(), src_pm_->get_cname(), dst_pm_->get_cname());
if (TRACE_vm_is_enabled()) {
static void onVirtualMachineShutdown(simgrid::s4u::VirtualMachine const& vm)
{
- if (vm.get_impl()->is_migrating()) {
+ if (vm.get_vm_impl()->is_migrating()) {
vm.extension<simgrid::vm::VmMigrationExt>()->rx_->kill();
vm.extension<simgrid::vm::VmMigrationExt>()->tx_->kill();
vm.extension<simgrid::vm::VmMigrationExt>()->issuer_->kill();
- vm.get_impl()->end_migration();
+ vm.get_vm_impl()->end_migration();
}
}
int sg_vm_is_migrating(const simgrid::s4u::VirtualMachine* vm)
{
- return vm->get_impl()->is_migrating();
+ return vm->get_vm_impl()->is_migrating();
}
void sg_vm_migrate(simgrid::s4u::VirtualMachine* vm, simgrid::s4u::Host* dst_pm)
throw simgrid::VmFailureException(
XBT_THROW_POINT,
simgrid::xbt::string_printf("Cannot migrate VM '%s' that is not running yet.", vm->get_cname()));
- if (vm->get_impl()->is_migrating())
+ if (vm->get_vm_impl()->is_migrating())
throw simgrid::VmFailureException(
XBT_THROW_POINT,
simgrid::xbt::string_printf("Cannot migrate VM '%s' that is already migrating.", vm->get_cname()));
- vm->get_impl()->start_migration();
+ vm->get_vm_impl()->start_migration();
simgrid::s4u::VirtualMachine::on_migration_start(*vm);
std::string rx_name =
tx->join();
rx->join();
- vm->get_impl()->end_migration();
+ vm->get_vm_impl()->end_migration();
simgrid::s4u::VirtualMachine::on_migration_end(*vm);
}