std::string("__mig_stage3:") + vm_->get_cname() + "(" + src_pm_->get_cname() + "-" + dst_pm_->get_cname() + ")";
while (not received_finalize) {
std::string("__mig_stage3:") + vm_->get_cname() + "(" + src_pm_->get_cname() + "-" + dst_pm_->get_cname() + ")";
while (not received_finalize) {
- container_t msg = simgrid::instr::Container::by_name(vm_->get_name());
- simgrid::instr::Container::get_root()->get_link("VM_LINK")->start_event(msg, "M", key);
+ container_t msg = instr::Container::by_name(vm_->get_name());
+ instr::Container::get_root()->get_link("VM_LINK")->start_event(msg, "M", key);
- new simgrid::instr::Container(vm_->get_name(), "VM", simgrid::instr::Container::by_name(dst_pm_->get_name()));
+ new instr::Container(vm_->get_name(), "VM", instr::Container::by_name(dst_pm_->get_name()));
- msg = simgrid::instr::Container::by_name(vm_->get_name());
- simgrid::instr::Container::get_root()->get_link("VM_LINK")->end_event(msg, "M", key);
+ msg = instr::Container::by_name(vm_->get_name());
+ instr::Container::get_root()->get_link("VM_LINK")->end_event(msg, "M", key);
}
// Inform the SRC that the migration has been correctly performed
std::string* payload = new std::string("__mig_stage4:");
}
// Inform the SRC that the migration has been correctly performed
std::string* payload = new std::string("__mig_stage4:");
} catch (const Exception&) {
// hostfailure (if you want to know whether this is the SRC or the DST check directly in send_migration_data code)
// Stop the dirty page tracking an return (there is no memory space to release)
} catch (const Exception&) {
// hostfailure (if you want to know whether this is the SRC or the DST check directly in send_migration_data code)
// Stop the dirty page tracking an return (there is no memory space to release)
int stage2_round = 0;
/* just after stage1, nothing has been updated. But, we have to send the data updated during stage1 */
sg_size_t updated_size = get_updated_size(computed_during_stage1, dp_rate, dp_cap);
int stage2_round = 0;
/* just after stage1, nothing has been updated. But, we have to send the data updated during stage1 */
sg_size_t updated_size = get_updated_size(computed_during_stage1, dp_rate, dp_cap);
/* When the remaining size is below the threshold value, move to stage 3. */
while (threshold < remaining_size) {
/* When the remaining size is below the threshold value, move to stage 3. */
while (threshold < remaining_size) {
XBT_DEBUG("mig-stage 2:%d updated_size %llu computed_during_stage1 %f dp_rate %f dp_cap %llu", stage2_round,
updated_size, computed_during_stage1, dp_rate, dp_cap);
XBT_DEBUG("mig-stage 2:%d updated_size %llu computed_during_stage1 %f dp_rate %f dp_cap %llu", stage2_round,
updated_size, computed_during_stage1, dp_rate, dp_cap);