A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
don't destroy synchro in a simcall, this drives the JVM nuts
[simgrid.git]
/
src
/
simix
/
smx_vm.cpp
diff --git
a/src/simix/smx_vm.cpp
b/src/simix/smx_vm.cpp
index
dae28e7
..
6b32988
100644
(file)
--- a/
src/simix/smx_vm.cpp
+++ b/
src/simix/smx_vm.cpp
@@
-9,6
+9,8
@@
#include "xbt/log.h"
#include "xbt/dict.h"
#include "mc/mc.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"
//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)");
//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)");
@@
-61,7
+63,7
@@
static int __can_be_started(sg_host_t vm)
}
if (pm_overcommit) {
}
if (pm_overcommit) {
- XBT_INFO("%s allows memory overcommit.",
pm->key
);
+ XBT_INFO("%s allows memory overcommit.",
sg_host_get_name(pm)
);
return 1;
}
return 1;
}
@@
-78,7
+80,8
@@
static int __can_be_started(sg_host_t vm)
if (vm_ramsize > pm_ramsize - total_ramsize_of_vms) {
XBT_WARN("cannnot start %s@%s due to memory shortage: vm_ramsize %ld, free %ld, pm_ramsize %ld (bytes).",
if (vm_ramsize > pm_ramsize - total_ramsize_of_vms) {
XBT_WARN("cannnot start %s@%s due to memory shortage: vm_ramsize %ld, free %ld, pm_ramsize %ld (bytes).",
- vm->key, pm->key, vm_ramsize, pm_ramsize - total_ramsize_of_vms, pm_ramsize);
+ sg_host_get_name(vm), sg_host_get_name(pm),
+ vm_ramsize, pm_ramsize - total_ramsize_of_vms, pm_ramsize);
xbt_dynar_free(&dyn_vms);
return 0;
}
xbt_dynar_free(&dyn_vms);
return 0;
}
@@
-90,16
+93,19
@@
static int __can_be_started(sg_host_t vm)
void SIMIX_vm_start(sg_host_t ind_vm)
{
if (__can_be_started(ind_vm))
void SIMIX_vm_start(sg_host_t ind_vm)
{
if (__can_be_started(ind_vm))
- surf_host_set_state(surf_host_resource_priv(ind_vm),
- (e_surf_resource_state_t) SURF_VM_STATE_RUNNING);
+ static_cast<simgrid::surf::VirtualMachine*>(
+ ind_vm->extension<simgrid::surf::Host>()
+ )->setState(SURF_VM_STATE_RUNNING);
else
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));
}
}
-
in
t SIMIX_vm_get_state(sg_host_t ind_vm)
+
e_surf_vm_state_
t SIMIX_vm_get_state(sg_host_t ind_vm)
{
{
- return surf_host_get_state(surf_host_resource_priv(ind_vm));
+ return static_cast<simgrid::surf::VirtualMachine*>(
+ ind_vm->extension<simgrid::surf::Host>()
+ )->getState();
}
/**
}
/**
@@
-191,7
+197,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)
{
*/
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);
if (SIMIX_vm_get_state(ind_vm) != SURF_VM_STATE_RUNNING)
THROWF(vm_error, 0, "VM(%s) is not running", name);
@@
-231,7
+237,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)
{
*/
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);
if (SIMIX_vm_get_state(ind_vm) != SURF_VM_STATE_SUSPENDED)
THROWF(vm_error, 0, "VM(%s) was not suspended", name);
@@
-263,7
+269,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)
{
*/
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);
if (SIMIX_vm_get_state(ind_vm) != SURF_VM_STATE_RUNNING)
THROWF(vm_error, 0, "VM(%s) is not running", name);
@@
-295,7
+301,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)
{
*/
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);
if (SIMIX_vm_get_state(ind_vm) != SURF_VM_STATE_SAVED)
THROWF(vm_error, 0, "VM(%s) was not saved", name);
@@
-327,7
+333,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)
{
*/
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);
if (SIMIX_vm_get_state(ind_vm) != SURF_VM_STATE_RUNNING)
THROWF(vm_error, 0, "VM(%s) is not running", name);
@@
-342,8
+348,9
@@
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 */
}
/* FIXME: we may have to do something at the surf layer, e.g., vcpu action */
- surf_host_set_state(surf_host_resource_priv(ind_vm),
- (e_surf_resource_state_t) SURF_VM_STATE_CREATED);
+ static_cast<simgrid::surf::VirtualMachine*>(
+ ind_vm->extension<simgrid::surf::Host>()
+ )->setState(SURF_VM_STATE_CREATED);
}
void simcall_HANDLER_vm_shutdown(smx_simcall_t simcall, sg_host_t ind_vm)
}
void simcall_HANDLER_vm_shutdown(smx_simcall_t simcall, sg_host_t ind_vm)
@@
-361,8
+368,7
@@
void SIMIX_vm_destroy(sg_host_t ind_vm)
{
/* this code basically performs a similar thing like SIMIX_host_destroy() */
{
/* 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);
XBT_DEBUG("destroy %s", hostname);