-/* Copyright (c) 2007-2014. The SimGrid Team.
+/* Copyright (c) 2007-2015. The SimGrid Team.
* All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
/* Create surf associated resource */
surf_vm_model_create(name, ind_phys_host);
- sg_host_t smx_host = SIMIX_host_create(name, NULL);
+ SIMIX_host_create(name);
/* We will be able to register the VM to its physical host, so that we can promptly
* retrieve the list VMs on the physical host. */
- return smx_host;
+ return sg_host_by_name(name);
}
/* works for VMs and PMs */
static long host_get_ramsize(sg_host_t vm, int *overcommit)
{
- s_ws_params_t params;
+ s_vm_params_t params;
surf_host_get_params(vm, ¶ms);
if (overcommit)
if (SIMIX_vm_get_state(ind_vm) != SURF_VM_STATE_RUNNING)
THROWF(vm_error, 0, "VM(%s) is not running", name);
- XBT_DEBUG("suspend VM(%s), where %d processes exist", name, xbt_swag_size(SIMIX_host_priv(ind_vm)->process_list));
+ XBT_DEBUG("suspend VM(%s), where %d processes exist", name, xbt_swag_size(sg_host_simix(ind_vm)->process_list));
/* jump to vm_ws_suspend. The state will be set. */
surf_vm_suspend(ind_vm);
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_swag_foreach_safe(smx_process, smx_process_safe, sg_host_simix(ind_vm)->process_list) {
XBT_DEBUG("suspend %s", smx_process->name);
SIMIX_process_suspend(smx_process, issuer);
}
if (SIMIX_vm_get_state(ind_vm) != SURF_VM_STATE_SUSPENDED)
THROWF(vm_error, 0, "VM(%s) was not suspended", name);
- XBT_DEBUG("resume VM(%s), where %d processes exist", name, xbt_swag_size(SIMIX_host_priv(ind_vm)->process_list));
+ XBT_DEBUG("resume VM(%s), where %d processes exist", name, xbt_swag_size(sg_host_simix(ind_vm)->process_list));
/* jump to vm_ws_resume() */
surf_vm_resume(ind_vm);
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_swag_foreach_safe(smx_process, smx_process_safe, sg_host_simix(ind_vm)->process_list) {
XBT_DEBUG("resume %s", smx_process->name);
SIMIX_process_resume(smx_process, issuer);
}
THROWF(vm_error, 0, "VM(%s) is not running", name);
- XBT_DEBUG("save VM(%s), where %d processes exist", name, xbt_swag_size(SIMIX_host_priv(ind_vm)->process_list));
+ XBT_DEBUG("save VM(%s), where %d processes exist", name, xbt_swag_size(sg_host_simix(ind_vm)->process_list));
/* jump to vm_ws_save() */
surf_vm_save(ind_vm);
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_swag_foreach_safe(smx_process, smx_process_safe, sg_host_simix(ind_vm)->process_list) {
XBT_DEBUG("suspend %s", smx_process->name);
SIMIX_process_suspend(smx_process, issuer);
}
if (SIMIX_vm_get_state(ind_vm) != SURF_VM_STATE_SAVED)
THROWF(vm_error, 0, "VM(%s) was not saved", name);
- XBT_DEBUG("restore VM(%s), where %d processes exist", name, xbt_swag_size(SIMIX_host_priv(ind_vm)->process_list));
+ XBT_DEBUG("restore VM(%s), where %d processes exist", name, xbt_swag_size(sg_host_simix(ind_vm)->process_list));
/* jump to vm_ws_restore() */
surf_vm_resume(ind_vm);
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_swag_foreach_safe(smx_process, smx_process_safe, sg_host_simix(ind_vm)->process_list) {
XBT_DEBUG("resume %s", smx_process->name);
SIMIX_process_resume(smx_process, issuer);
}
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));
+ 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;
- xbt_swag_foreach_safe(smx_process, smx_process_safe, SIMIX_host_priv(ind_vm)->process_list) {
+ xbt_swag_foreach_safe(smx_process, smx_process_safe, sg_host_simix(ind_vm)->process_list) {
XBT_DEBUG("kill %s", smx_process->name);
SIMIX_process_kill(smx_process, issuer);
}
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);
+ sg_host_simix_destroy(ind_vm);
/* jump to vm_ws_destroy(). The surf level resource will be freed. */
surf_vm_destroy(ind_vm);