-/* Copyright (c) 2007-2012. The SimGrid Team.
+/* Copyright (c) 2007-2014. The SimGrid Team.
* All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
void SIMIX_vm_start(smx_host_t ind_vm)
{
if (__can_be_started(ind_vm))
- SIMIX_vm_set_state(ind_vm, SURF_VM_STATE_RUNNING);
+ surf_resource_set_state(surf_workstation_resource_priv(ind_vm),
+ (int)SURF_VM_STATE_RUNNING);
else
THROWF(vm_error, 0, "The VM %s cannot be started", SIMIX_host_get_name(ind_vm));
}
SIMIX_vm_start(ind_vm);
}
-/* ***** set/get state of a VM ***** */
-void SIMIX_vm_set_state(smx_host_t ind_vm, int state)
-{
- /* jump to vm_ws_set_state */
- surf_resource_set_state(surf_workstation_resource_priv(ind_vm), state);
-}
-
-void SIMIX_pre_vm_set_state(smx_simcall_t simcall, smx_host_t ind_vm, int state)
-{
- SIMIX_vm_set_state(ind_vm, state);
-}
-
int SIMIX_vm_get_state(smx_host_t ind_vm)
{
return surf_resource_get_state(surf_workstation_resource_priv(ind_vm));
/**
- * \brief Function to migrate a SIMIX VM host.
+ * \brief Function to migrate a SIMIX VM host.
*
* \param host the vm host to migrate (a smx_host_t)
*/
/**
- * \brief Function to suspend a SIMIX VM host. This function stops the exection of the
+ * \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
* preserved on memory. We can later resume it again.
*
/**
* \brief Function to resume a SIMIX VM host. This function restart the execution of the
- * VM. All the processes on this VM will run again.
+ * VM. All the processes on this VM will run again.
*
* \param host the vm host to resume (a smx_host_t)
*/
/**
* \brief Function to restore a SIMIX VM host. This function restart the execution of the
- * VM. All the processes on this VM will run again.
+ * VM. All the processes on this VM will run again.
*
* \param host the vm host to restore (a smx_host_t)
*/
if (SIMIX_vm_get_state(ind_vm) != SURF_VM_STATE_RUNNING)
THROWF(vm_error, 0, "VM(%s) is not running", name);
+ XBT_DEBUG("shutdown %s", name);
XBT_DEBUG("%d processes in the VM", xbt_swag_size(SIMIX_host_priv(ind_vm)->process_list));
smx_process_t smx_process, smx_process_safe;
xbt_swag_foreach_safe(smx_process, smx_process_safe, SIMIX_host_priv(ind_vm)->process_list) {
- XBT_DEBUG("shutdown %s", name);
+ XBT_DEBUG("kill %s", smx_process->name);
SIMIX_process_kill(smx_process, issuer);
}
/* FIXME: we may have to do something at the surf layer, e.g., vcpu action */
- SIMIX_vm_set_state(ind_vm, SURF_VM_STATE_CREATED);
+ surf_resource_set_state(surf_workstation_resource_priv(ind_vm),
+ (int)SURF_VM_STATE_CREATED);
}
void SIMIX_pre_vm_shutdown(smx_simcall_t simcall, smx_host_t ind_vm)
xbt_assert((ind_vm != NULL), "Invalid parameters");
const char *hostname = SIMIX_host_get_name(ind_vm);
+ XBT_DEBUG("destroy %s", hostname);
+
/* this will call the registered callback function, i.e., SIMIX_host_destroy(). */
xbt_lib_unset(host_lib, hostname, SIMIX_HOST_LEVEL, 1);