/**
* @brief Encompassing simcall to prevent the removal of the src or the dst node at the end of a VM migration
* The simcall actually invokes the following calls:
- * simcall_vm_set_affinity(vm, src_pm, 0);
* simcall_vm_migrate(vm, dst_pm);
* simcall_vm_resume(vm);
*
*/
void SIMIX_vm_migratefrom_resumeto(sg_host_t vm, sg_host_t src_pm, sg_host_t dst_pm)
{
- /* deinstall the current affinity setting for the CPU */
- SIMIX_vm_set_affinity(vm, src_pm, 0);
-
/* Update the vm location */
SIMIX_vm_migrate(vm, dst_pm);
/* Resume the VM */
- smx_process_t self = SIMIX_process_self();
+ smx_actor_t self = SIMIX_process_self();
SIMIX_vm_resume(vm, self->simcall.issuer);
}
*
* @param host the vm host to get_phys_host (a sg_host_t)
*/
-void *SIMIX_vm_get_pm(sg_host_t ind_vm)
+void *SIMIX_vm_get_pm(sg_host_t host)
{
- /* jump to vm_ws_get_pm(). this will return the vm name. */
- return surf_vm_get_pm(ind_vm);
+ return surf_vm_get_pm(host);
}
/**
* @param host the vm host (a sg_host_t)
* @param bound bound (a double)
*/
-void SIMIX_vm_set_bound(sg_host_t ind_vm, double bound)
-{
- /* jump to vm_ws_set_vm_bound(). */
- surf_vm_set_bound(ind_vm, bound);
-}
-
-/**
- * @brief Function to set the CPU affinity of the given SIMIX VM host.
- *
- * @param host the vm host (a sg_host_t)
- * @param host the pm host (a sg_host_t)
- * @param mask affinity mask (a unsigned long)
- */
-void SIMIX_vm_set_affinity(sg_host_t ind_vm, sg_host_t ind_pm, unsigned long mask)
+void SIMIX_vm_set_bound(sg_host_t host, double bound)
{
- /* make sure this at the MSG layer. */
- xbt_assert(SIMIX_vm_get_pm(ind_vm) == ind_pm);
-
- /* jump to vm_ws_set_vm_affinity(). */
- surf_vm_set_affinity(ind_vm, ind_pm, mask);
+ surf_vm_set_bound(host, bound);
}
-
/**
* @brief Function to suspend a SIMIX VM host. This function stops the execution of the
* VM. All the processes on this VM will pause. The state of the VM is
*
* @param host the vm host to suspend (a sg_host_t)
*/
-void SIMIX_vm_suspend(sg_host_t ind_vm, smx_process_t issuer)
+void SIMIX_vm_suspend(sg_host_t ind_vm, smx_actor_t issuer)
{
const char *name = sg_host_get_name(ind_vm);
/* jump to vm_ws_suspend. The state will be set. */
surf_vm_suspend(ind_vm);
- smx_process_t smx_process, smx_process_safe;
+ smx_actor_t smx_process, smx_process_safe;
xbt_swag_foreach_safe(smx_process, smx_process_safe, sg_host_simix(ind_vm)->process_list) {
XBT_DEBUG("suspend %s", smx_process->name.c_str());
SIMIX_process_suspend(smx_process, issuer);
*
* @param host the vm host to resume (a sg_host_t)
*/
-void SIMIX_vm_resume(sg_host_t ind_vm, smx_process_t issuer)
+void SIMIX_vm_resume(sg_host_t ind_vm, smx_actor_t issuer)
{
const char *name = sg_host_get_name(ind_vm);
/* jump to vm_ws_resume() */
surf_vm_resume(ind_vm);
- smx_process_t smx_process, smx_process_safe;
+ smx_actor_t smx_process, smx_process_safe;
xbt_swag_foreach_safe(smx_process, smx_process_safe, sg_host_simix(ind_vm)->process_list) {
XBT_DEBUG("resume %s", smx_process->name.c_str());
SIMIX_process_resume(smx_process, issuer);
*
* @param host the vm host to save (a sg_host_t)
*/
-void SIMIX_vm_save(sg_host_t ind_vm, smx_process_t issuer)
+void SIMIX_vm_save(sg_host_t ind_vm, smx_actor_t issuer)
{
const char *name = sg_host_get_name(ind_vm);
/* jump to vm_ws_save() */
surf_vm_save(ind_vm);
- smx_process_t smx_process, smx_process_safe;
+ smx_actor_t smx_process, smx_process_safe;
xbt_swag_foreach_safe(smx_process, smx_process_safe, sg_host_simix(ind_vm)->process_list) {
XBT_DEBUG("suspend %s", smx_process->name.c_str());
SIMIX_process_suspend(smx_process, issuer);
*
* @param host the vm host to restore (a sg_host_t)
*/
-void SIMIX_vm_restore(sg_host_t ind_vm, smx_process_t issuer)
+void SIMIX_vm_restore(sg_host_t ind_vm, smx_actor_t issuer)
{
const char *name = sg_host_get_name(ind_vm);
/* jump to vm_ws_restore() */
surf_vm_resume(ind_vm);
- smx_process_t smx_process, smx_process_safe;
+ smx_actor_t smx_process, smx_process_safe;
xbt_swag_foreach_safe(smx_process, smx_process_safe, sg_host_simix(ind_vm)->process_list) {
XBT_DEBUG("resume %s", smx_process->name.c_str());
SIMIX_process_resume(smx_process, issuer);
*
* @param host the vm host to shutdown (a sg_host_t)
*/
-void SIMIX_vm_shutdown(sg_host_t ind_vm, smx_process_t issuer)
+void SIMIX_vm_shutdown(sg_host_t ind_vm, smx_actor_t issuer)
{
const char *name = sg_host_get_name(ind_vm);
XBT_DEBUG("shutdown %s", name);
XBT_DEBUG("%d processes in the VM", xbt_swag_size(sg_host_simix(ind_vm)->process_list));
- smx_process_t smx_process, smx_process_safe;
+ smx_actor_t smx_process, smx_process_safe;
xbt_swag_foreach_safe(smx_process, smx_process_safe, sg_host_simix(ind_vm)->process_list) {
XBT_DEBUG("kill %s", smx_process->name.c_str());
SIMIX_process_kill(smx_process, issuer);