X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/dec88cb5450df90eb490d9bf0655184904981438..2489210b4ea8d03fbece8db288ef9e3ff6725723:/include/simgrid/platf.h diff --git a/include/simgrid/platf.h b/include/simgrid/platf.h index 652b8bc9ce..723c659185 100644 --- a/include/simgrid/platf.h +++ b/include/simgrid/platf.h @@ -41,6 +41,42 @@ typedef enum { } e_surf_process_on_failure_t; +/* FIXME: Where should the VM state be defined? */ +typedef enum { + /* created, but not yet started */ + SURF_VM_STATE_CREATED, + + SURF_VM_STATE_RUNNING, + SURF_VM_STATE_MIGRATING, + + /* Suspend/resume does not involve disk I/O, so we assume there is no transition states. */ + SURF_VM_STATE_SUSPENDED, + + /* Save/restore involves disk I/O, so there should be transition states. */ + SURF_VM_STATE_SAVING, + SURF_VM_STATE_SAVED, + SURF_VM_STATE_RESTORING, + +} e_surf_vm_state_t; + +typedef struct ws_params { + int ncpus; + long ramsize; + int overcommit; + + /* The size of other states than memory pages, which is out-of-scope of dirty + * page tracking. */ + long devsize; + int skip_stage2; + double max_downtime; + + double dp_rate; + double dp_cap; + + /* set migration speed */ + double mig_speed; +} s_ws_params_t, *ws_params_t; + typedef struct tmgr_trace *tmgr_trace_t; /**< Opaque structure defining an availability trace */ /** opaque structure defining a event generator for availability based on a probability distribution */