/** \ingroup m_host_management
* \brief Change the value of a given host property
*
- * \param host a host
+ * \param vm a vm
* \param name a property name
* \param value what to change the property to
* \param free_ctn the freeing function to use to kill the value on need
remaining -= datasize;
send_migration_data(vm_name, src_pm_name, dst_pm_name, datasize, mbox, 1, 0, mig_speed, xfer_cpu_overhead);
-
double computed = lookup_computed_flop_counts(vm, 1, 0);
computed_total += computed;
// launch_deferred_exec_process(vm, overhead, 10000);
// }
}
-
+ xbt_free(mbox);
return computed_total;
}
double clock_post_send = MSG_get_clock();
double bandwidth = ramsize / (clock_post_send - clock_prev_send);
threshold = get_threshold_value(bandwidth, max_downtime);
- XBT_INFO("actual banwdidth %f, threshold %f", bandwidth / 1024 / 1024, threshold);
+ XBT_INFO("actual banwdidth %f (MB/s), threshold %f", bandwidth / 1024 / 1024, threshold);
}
{
msg_task_t task = NULL;
msg_error_t ret = MSG_task_recv(&task, mbox_ctl);
+
xbt_assert(ret == MSG_OK);
char *expected_task_name = get_mig_task_name(sg_host_name(vm), sg_host_name(src_pm), sg_host_name(dst_pm), 4);
xbt_assert(strcmp(task->name, expected_task_name) == 0);
xbt_free(expected_task_name);
+ MSG_task_destroy(task);
}
xbt_free(mbox_ctl);
* For example,
* On PM0, there are Task1 and VM0.
* On VM0, there is Task2.
- * Now we bound 75% to Task1@PM0 and bound 25% to Task2@VM0.
+ * Now we bound 75% to Task1\@PM0 and bound 25% to Task2\@VM0.
* Then,
- * Task1@PM0 gets 50%.
- * Task2@VM0 gets 25%.
- * This is NOT 75% for Task1@PM0 and 25% for Task2@VM0, respectively.
+ * Task1\@PM0 gets 50%.
+ * Task2\@VM0 gets 25%.
+ * This is NOT 75% for Task1\@PM0 and 25% for Task2\@VM0, respectively.
*
* This is because a VM has the dummy CPU action in the PM layer. Putting a
* task on the VM does not affect the bound of the dummy CPU action. The bound