X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/3ed26c1bad5a748ee8a9601b60cfd1bd3e6cc161..05d190ed39b43f561714b3a065dbb6dcab48b364:/src/simix/smx_vm.cpp diff --git a/src/simix/smx_vm.cpp b/src/simix/smx_vm.cpp index 6be0a1513b..ae5fdbd923 100644 --- a/src/simix/smx_vm.cpp +++ b/src/simix/smx_vm.cpp @@ -5,12 +5,9 @@ * under the terms of the license (GNU LGPL) which comes with this package. */ #include "smx_private.h" -#include "xbt/sysdep.h" -#include "xbt/log.h" -#include "xbt/dict.h" #include "mc/mc.h" -#include "src/surf/host_interface.hpp" #include "src/surf/virtual_machine.hpp" +#include "src/surf/HostImpl.hpp" //If you need to log some stuffs, just uncomment these two lines and uses XBT_DEBUG for instance XBT_LOG_NEW_DEFAULT_SUBCATEGORY(simix_vm, simix, "Logging specific to SIMIX (vms)"); @@ -40,7 +37,7 @@ sg_host_t SIMIX_vm_create(const char *name, sg_host_t ind_phys_host) static long host_get_ramsize(sg_host_t vm, int *overcommit) { s_vm_params_t params; - surf_host_get_params(vm, ¶ms); + vm->extension()->getParams(¶ms); if (overcommit) *overcommit = params.overcommit; @@ -63,12 +60,12 @@ static int __can_be_started(sg_host_t vm) } if (pm_overcommit) { - XBT_INFO("%s allows memory overcommit.", sg_host_get_name(pm)); + XBT_VERB("%s allows memory overcommit.", sg_host_get_name(pm)); return 1; } long total_ramsize_of_vms = 0; - xbt_dynar_t dyn_vms = surf_host_get_vms(pm); + xbt_dynar_t dyn_vms = pm->extension()->getVms(); { unsigned int cursor = 0; sg_host_t another_vm; @@ -86,25 +83,24 @@ static int __can_be_started(sg_host_t vm) return 0; } - xbt_dynar_free(&dyn_vms); - return 1; + return 1; } void SIMIX_vm_start(sg_host_t ind_vm) { if (__can_be_started(ind_vm)) static_cast( - ind_vm->extension() + ind_vm->extension() )->setState(SURF_VM_STATE_RUNNING); else - THROWF(vm_error, 0, "The VM %s cannot be started", SIMIX_host_get_name(ind_vm)); + THROWF(vm_error, 0, "The VM %s cannot be started", sg_host_get_name(ind_vm)); } e_surf_vm_state_t SIMIX_vm_get_state(sg_host_t ind_vm) { return static_cast( - ind_vm->extension() + ind_vm->extension() )->getState(); } @@ -197,7 +193,7 @@ void SIMIX_vm_set_affinity(sg_host_t ind_vm, sg_host_t ind_pm, unsigned long mas */ void SIMIX_vm_suspend(sg_host_t ind_vm, smx_process_t issuer) { - const char *name = SIMIX_host_get_name(ind_vm); + const char *name = sg_host_get_name(ind_vm); if (SIMIX_vm_get_state(ind_vm) != SURF_VM_STATE_RUNNING) THROWF(vm_error, 0, "VM(%s) is not running", name); @@ -237,7 +233,7 @@ void simcall_HANDLER_vm_suspend(smx_simcall_t simcall, sg_host_t ind_vm) */ void SIMIX_vm_resume(sg_host_t ind_vm, smx_process_t issuer) { - const char *name = SIMIX_host_get_name(ind_vm); + const char *name = sg_host_get_name(ind_vm); if (SIMIX_vm_get_state(ind_vm) != SURF_VM_STATE_SUSPENDED) THROWF(vm_error, 0, "VM(%s) was not suspended", name); @@ -269,7 +265,7 @@ void simcall_HANDLER_vm_resume(smx_simcall_t simcall, sg_host_t ind_vm) */ void SIMIX_vm_save(sg_host_t ind_vm, smx_process_t issuer) { - const char *name = SIMIX_host_get_name(ind_vm); + const char *name = sg_host_get_name(ind_vm); if (SIMIX_vm_get_state(ind_vm) != SURF_VM_STATE_RUNNING) THROWF(vm_error, 0, "VM(%s) is not running", name); @@ -301,7 +297,7 @@ void simcall_HANDLER_vm_save(smx_simcall_t simcall, sg_host_t ind_vm) */ void SIMIX_vm_restore(sg_host_t ind_vm, smx_process_t issuer) { - const char *name = SIMIX_host_get_name(ind_vm); + const char *name = sg_host_get_name(ind_vm); if (SIMIX_vm_get_state(ind_vm) != SURF_VM_STATE_SAVED) THROWF(vm_error, 0, "VM(%s) was not saved", name); @@ -333,7 +329,7 @@ void simcall_HANDLER_vm_restore(smx_simcall_t simcall, sg_host_t ind_vm) */ void SIMIX_vm_shutdown(sg_host_t ind_vm, smx_process_t issuer) { - const char *name = SIMIX_host_get_name(ind_vm); + const char *name = sg_host_get_name(ind_vm); if (SIMIX_vm_get_state(ind_vm) != SURF_VM_STATE_RUNNING) THROWF(vm_error, 0, "VM(%s) is not running", name); @@ -349,7 +345,7 @@ void SIMIX_vm_shutdown(sg_host_t ind_vm, smx_process_t issuer) /* FIXME: we may have to do something at the surf layer, e.g., vcpu action */ static_cast( - ind_vm->extension() + ind_vm->extension() )->setState(SURF_VM_STATE_CREATED); } @@ -368,8 +364,7 @@ void SIMIX_vm_destroy(sg_host_t ind_vm) { /* this code basically performs a similar thing like SIMIX_host_destroy() */ - xbt_assert((ind_vm != NULL), "Invalid parameters"); - const char *hostname = SIMIX_host_get_name(ind_vm); + const char *hostname = sg_host_get_name(ind_vm); XBT_DEBUG("destroy %s", hostname);