X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/afb325ee2d64aeaf5eba713aacfce666f90da656..dd22867177c86db2e9d0b76852cb09e044b1c0c8:/src/msg/msg_private.h diff --git a/src/msg/msg_private.h b/src/msg/msg_private.h index a83c36c687..884ab057bd 100644 --- a/src/msg/msg_private.h +++ b/src/msg/msg_private.h @@ -31,7 +31,8 @@ typedef struct simdata_task { msg_process_t receiver; msg_host_t source; double priority; - double rate; + double bound; /* Capping for CPU resource */ + double rate; /* Capping for network resource */ int isused; /* Indicates whether the task is used in SIMIX currently */ int host_nb; /* ==0 if sequential task; parallel task if not */ /******* Parallel Tasks Only !!!! *******/ @@ -89,6 +90,20 @@ typedef struct msg_comm { } s_msg_comm_t; +/******************************* VM *************************************/ +typedef struct dirty_page { + double prev_clock; + double prev_remaining; + msg_task_t task; +} s_dirty_page, *dirty_page_t; + +XBT_PUBLIC_DATA(const char*) MSG_vm_get_property_value(msg_vm_t vm, const char *name); +XBT_PUBLIC_DATA(xbt_dict_t) MSG_vm_get_properties(msg_vm_t vm); +XBT_PUBLIC_DATA(void) MSG_vm_set_property_value(msg_vm_t vm, const char *name, void *value, void_f_pvoid_t free_ctn); +XBT_PUBLIC_DATA(msg_vm_t) MSG_vm_get_by_name(const char *name); +XBT_PUBLIC_DATA(const char*) MSG_vm_get_name(msg_vm_t vm); +XBT_PUBLIC_DATA(double) get_computed(char *key, msg_vm_t vm, dirty_page_t dp, double remaining, double clock); + /************************** Global variables ********************************/ typedef struct MSG_Global { xbt_fifo_t host; @@ -120,7 +135,7 @@ XBT_PUBLIC_DATA(MSG_Global_t) msg_global; #endif msg_host_t __MSG_host_create(smx_host_t workstation); -void __MSG_host_destroy(msg_host_priv_t host); +void __MSG_host_destroy(msg_host_t host); void MSG_process_cleanup_from_SIMIX(smx_process_t smx_proc); void MSG_process_create_from_SIMIX(smx_process_t *process, const char *name, @@ -134,6 +149,13 @@ void _MSG_action_exit(void); void MSG_post_create_environment(void); +static inline void *msg_host_resource_priv(const void *host) { + return xbt_lib_get_level((void *)host, MSG_HOST_LEVEL); +} + +void MSG_host_add_task(msg_host_t host, msg_task_t task); +void MSG_host_del_task(msg_host_t host, msg_task_t task); + /********** Tracing **********/ /* declaration of instrumentation functions from msg_task_instr.c */ void TRACE_msg_set_task_category(msg_task_t task, const char *category);