SimGrid  3.13
Versatile Simulation of Distributed Systems
msg_private.h File Reference
#include "simgrid/msg.h"
#include "simgrid/simix.h"
#include "src/include/surf/surf.h"
#include "xbt/base.h"
#include "xbt/fifo.h"
#include "xbt/dynar.h"
#include "xbt/swag.h"
#include "xbt/dict.h"
#include "xbt/config.h"
#include "src/instr/instr_private.h"

Classes

struct  simdata_task
 
struct  simdata_file
 
struct  simdata_process
 
struct  process_arg
 
struct  msg_comm
 
struct  dirty_page
 
struct  MSG_Global
 

Macros

#define MSG_BT(ptr, m)
 
#define MSG_RETURN(val)   return(val)
 

Typedefs

typedef struct simdata_task s_simdata_task_t
 
typedef struct simdata_file s_simdata_file_t
 
typedef struct simdata_process s_simdata_process_t
 
typedef struct simdata_processsimdata_process_t
 
typedef struct process_arg s_process_arg_t
 
typedef struct process_argprocess_arg_t
 
typedef struct msg_comm s_msg_comm_t
 
typedef struct dirty_page s_dirty_page
 
typedef struct dirty_pagedirty_page_t
 
typedef struct MSG_Global s_MSG_Global_t
 
typedef struct MSG_GlobalMSG_Global_t
 

Functions

XBT_PRIVATE int __MSG_host_get_file_descriptor_id (msg_host_t host)
 
XBT_PRIVATE void __MSG_host_release_file_descriptor_id (msg_host_t host, int id)
 
const char * MSG_vm_get_property_value (msg_vm_t vm, const char *name)
 Returns the value of a given vm property. More...
 
xbt_dict_t MSG_vm_get_properties (msg_vm_t vm)
 Returns a xbt_dict_t consisting of the list of properties assigned to this host. More...
 
void MSG_vm_set_property_value (msg_vm_t vm, const char *name, void *value, void_f_pvoid_t free_ctn)
 Change the value of a given host property. More...
 
msg_vm_t MSG_vm_get_by_name (const char *name)
 Finds a msg_vm_t using its name. More...
 
const char * MSG_vm_get_name (msg_vm_t vm)
 Return the name of the msg_host_t. More...
 
XBT_PRIVATE msg_host_t __MSG_host_create (sg_host_t host)
 
XBT_PRIVATE msg_storage_t __MSG_storage_create (smx_storage_t storage)
 
XBT_PRIVATE void __MSG_host_priv_free (msg_host_priv_t priv)
 
XBT_PRIVATE void __MSG_storage_destroy (msg_storage_priv_t host)
 Destroys a storage (internal call only) More...
 
XBT_PRIVATE void __MSG_file_destroy (msg_file_priv_t host)
 Destroys a file (internal call only) More...
 
XBT_PRIVATE void MSG_process_cleanup_from_SIMIX (smx_process_t smx_proc)
 Cleans the MSG data of a process. More...
 
XBT_PRIVATE smx_process_t MSG_process_create_from_SIMIX (const char *name, xbt_main_func_t code, void *data, const char *hostname, double kill_time, int argc, char **argv, xbt_dict_t properties, int auto_restart, smx_process_t parent_process)
 
XBT_PRIVATE void MSG_comm_copy_data_from_SIMIX (smx_synchro_t comm, void *buff, size_t buff_size)
 This function is called by SIMIX in kernel mode to copy the data of a comm. More...
 
XBT_PRIVATE void MSG_post_create_environment (void)
 
XBT_PRIVATE void MSG_host_add_task (msg_host_t host, msg_task_t task)
 
XBT_PRIVATE void MSG_host_del_task (msg_host_t host, msg_task_t task)
 
XBT_PRIVATE void TRACE_msg_set_task_category (msg_task_t task, const char *category)
 
XBT_PRIVATE void TRACE_msg_task_create (msg_task_t task)
 
XBT_PRIVATE void TRACE_msg_task_execute_start (msg_task_t task)
 
XBT_PRIVATE void TRACE_msg_task_execute_end (msg_task_t task)
 
XBT_PRIVATE void TRACE_msg_task_destroy (msg_task_t task)
 
XBT_PRIVATE void TRACE_msg_task_get_end (double start_time, msg_task_t task)
 
XBT_PRIVATE void TRACE_msg_task_get_start (void)
 
XBT_PRIVATE int TRACE_msg_task_put_start (msg_task_t task)
 
XBT_PRIVATE void TRACE_msg_task_put_end (void)
 
XBT_PRIVATE char * instr_process_id (msg_process_t proc, char *str, int len)
 
XBT_PRIVATE char * instr_process_id_2 (const char *process_name, int process_pid, char *str, int len)
 
XBT_PRIVATE void TRACE_msg_process_change_host (msg_process_t process, msg_host_t old_host, msg_host_t new_host)
 
XBT_PRIVATE void TRACE_msg_process_create (const char *process_name, int process_pid, msg_host_t host)
 
XBT_PRIVATE void TRACE_msg_process_destroy (const char *process_name, int process_pid)
 
XBT_PRIVATE void TRACE_msg_process_kill (smx_process_exit_status_t status, msg_process_t process)
 
XBT_PRIVATE void TRACE_msg_process_suspend (msg_process_t process)
 
XBT_PRIVATE void TRACE_msg_process_resume (msg_process_t process)
 
XBT_PRIVATE void TRACE_msg_process_sleep_in (msg_process_t process)
 
XBT_PRIVATE void TRACE_msg_process_sleep_out (msg_process_t process)
 
XBT_PRIVATE char * instr_vm_id (msg_vm_t vm, char *str, int len)
 
XBT_PRIVATE char * instr_vm_id_2 (const char *vm_name, char *str, int len)
 
XBT_PRIVATE void TRACE_msg_vm_change_host (msg_vm_t vm, msg_host_t old_host, msg_host_t new_host)
 
XBT_PRIVATE void TRACE_msg_vm_start (msg_vm_t vm)
 
XBT_PRIVATE void TRACE_msg_vm_create (const char *vm_name, msg_host_t host)
 
XBT_PRIVATE void TRACE_msg_vm_kill (msg_vm_t process)
 
XBT_PRIVATE void TRACE_msg_vm_suspend (msg_vm_t vm)
 
XBT_PRIVATE void TRACE_msg_vm_resume (msg_vm_t vm)
 
XBT_PRIVATE void TRACE_msg_vm_save (msg_vm_t vm)
 
XBT_PRIVATE void TRACE_msg_vm_restore (msg_vm_t vm)
 
XBT_PRIVATE void TRACE_msg_vm_end (msg_vm_t vm)
 

Variables

MSG_Global_t msg_global
 

Macro Definition Documentation

#define MSG_BT (   ptr,
 
)
Value:
do {xbt_ex_t *_xbt_ex_t = xbt_new0(xbt_ex_t, 1); \
/* build the exception */ \
_xbt_ex_t->msg = (bprintf(m)); \
_xbt_ex_t->category = (xbt_errcat_t)(0); \
_xbt_ex_t->value = (0); \
_xbt_ex_t->procname = (char*)xbt_procname(); \
_xbt_ex_t->pid = xbt_getpid(); \
_xbt_ex_t->file = (char*)__FILE__; \
_xbt_ex_t->line = __LINE__; \
_xbt_ex_t->func = (char*)__func__; \
_xbt_ex_t->bt_strings = NULL; \
ptr = _xbt_ex_t; } while(0)
void xbt_backtrace_current(xbt_ex_t *e)
Captures a backtrace for further use.
Definition: backtrace_dummy.c:22
xbt_errcat_t
different kind of errors
Definition: ex.h:250
const char * xbt_procname(void)
Definition: xbt_virtu.c:21
#define xbt_new0(type, count)
like calloc, but xbt_die() on error
Definition: sysdep.h:135
char * bprintf(const char *fmt,...) XBT_ATTRIB_PRINTF(1
print to allocated string
Structure describing an exception.
Definition: ex.h:270
int_f_void_t xbt_getpid
Definition: xbt_virtu.c:19
#define MSG_RETURN (   val)    return(val)

Typedef Documentation

typedef struct process_arg s_process_arg_t
typedef struct process_arg * process_arg_t
typedef struct msg_comm s_msg_comm_t
typedef struct dirty_page s_dirty_page
typedef struct dirty_page * dirty_page_t
typedef struct MSG_Global s_MSG_Global_t
typedef struct MSG_Global * MSG_Global_t

Function Documentation

XBT_PRIVATE int __MSG_host_get_file_descriptor_id ( msg_host_t  host)
XBT_PRIVATE void __MSG_host_release_file_descriptor_id ( msg_host_t  host,
int  id 
)
const char* MSG_vm_get_property_value ( msg_vm_t  vm,
const char *  name 
)

Returns the value of a given vm property.

Parameters
vma vm
namea property name
Returns
value of a property (or NULL if property not set)
xbt_dict_t MSG_vm_get_properties ( msg_vm_t  vm)

Returns a xbt_dict_t consisting of the list of properties assigned to this host.

Parameters
vma vm
Returns
a dict containing the properties
msg_vm_t MSG_vm_get_by_name ( const char *  name)

Finds a msg_vm_t using its name.

This is a name directory service

Parameters
namethe name of a vm.
Returns
the corresponding vm

Please note that a VM is a specific host. Hence, you should give a different name for each VM/PM.

const char* MSG_vm_get_name ( msg_vm_t  vm)

Return the name of the msg_host_t.

This functions checks whether host is a valid pointer or not and return its name.

XBT_PRIVATE msg_host_t __MSG_host_create ( sg_host_t  host)
XBT_PRIVATE msg_storage_t __MSG_storage_create ( smx_storage_t  storage)
XBT_PRIVATE void __MSG_host_priv_free ( msg_host_priv_t  priv)
XBT_PRIVATE void __MSG_storage_destroy ( msg_storage_priv_t  host)

Destroys a storage (internal call only)

XBT_PRIVATE void __MSG_file_destroy ( msg_file_priv_t  host)

Destroys a file (internal call only)

XBT_PRIVATE void MSG_process_cleanup_from_SIMIX ( smx_process_t  smx_proc)

Cleans the MSG data of a process.

Parameters
smx_proca SIMIX process
XBT_PRIVATE smx_process_t MSG_process_create_from_SIMIX ( const char *  name,
xbt_main_func_t  code,
void data,
const char *  hostname,
double  kill_time,
int  argc,
char **  argv,
xbt_dict_t  properties,
int  auto_restart,
smx_process_t  parent_process 
)
XBT_PRIVATE void MSG_comm_copy_data_from_SIMIX ( smx_synchro_t  comm,
void buff,
size_t  buff_size 
)

This function is called by SIMIX in kernel mode to copy the data of a comm.

Parameters
commthe comm
buffthe data copied
buff_sizesize of the buffer
XBT_PRIVATE void MSG_post_create_environment ( void  )
XBT_PRIVATE void MSG_host_add_task ( msg_host_t  host,
msg_task_t  task 
)
XBT_PRIVATE void MSG_host_del_task ( msg_host_t  host,
msg_task_t  task 
)
XBT_PRIVATE void TRACE_msg_set_task_category ( msg_task_t  task,
const char *  category 
)
XBT_PRIVATE void TRACE_msg_task_create ( msg_task_t  task)
XBT_PRIVATE void TRACE_msg_task_execute_start ( msg_task_t  task)
XBT_PRIVATE void TRACE_msg_task_execute_end ( msg_task_t  task)
XBT_PRIVATE void TRACE_msg_task_destroy ( msg_task_t  task)
XBT_PRIVATE void TRACE_msg_task_get_end ( double  start_time,
msg_task_t  task 
)
XBT_PRIVATE void TRACE_msg_task_get_start ( void  )
XBT_PRIVATE int TRACE_msg_task_put_start ( msg_task_t  task)
XBT_PRIVATE void TRACE_msg_task_put_end ( void  )
XBT_PRIVATE char* instr_process_id ( msg_process_t  proc,
char *  str,
int  len 
)
XBT_PRIVATE char* instr_process_id_2 ( const char *  process_name,
int  process_pid,
char *  str,
int  len 
)
XBT_PRIVATE void TRACE_msg_process_change_host ( msg_process_t  process,
msg_host_t  old_host,
msg_host_t  new_host 
)
XBT_PRIVATE void TRACE_msg_process_create ( const char *  process_name,
int  process_pid,
msg_host_t  host 
)
XBT_PRIVATE void TRACE_msg_process_destroy ( const char *  process_name,
int  process_pid 
)
XBT_PRIVATE void TRACE_msg_process_kill ( smx_process_exit_status_t  status,
msg_process_t  process 
)
XBT_PRIVATE void TRACE_msg_process_suspend ( msg_process_t  process)
XBT_PRIVATE void TRACE_msg_process_resume ( msg_process_t  process)
XBT_PRIVATE void TRACE_msg_process_sleep_in ( msg_process_t  process)
XBT_PRIVATE void TRACE_msg_process_sleep_out ( msg_process_t  process)
XBT_PRIVATE char* instr_vm_id ( msg_vm_t  vm,
char *  str,
int  len 
)
XBT_PRIVATE char* instr_vm_id_2 ( const char *  vm_name,
char *  str,
int  len 
)
XBT_PRIVATE void TRACE_msg_vm_change_host ( msg_vm_t  vm,
msg_host_t  old_host,
msg_host_t  new_host 
)
XBT_PRIVATE void TRACE_msg_vm_start ( msg_vm_t  vm)
XBT_PRIVATE void TRACE_msg_vm_create ( const char *  vm_name,
msg_host_t  host 
)
XBT_PRIVATE void TRACE_msg_vm_kill ( msg_vm_t  process)
XBT_PRIVATE void TRACE_msg_vm_suspend ( msg_vm_t  vm)
XBT_PRIVATE void TRACE_msg_vm_resume ( msg_vm_t  vm)
XBT_PRIVATE void TRACE_msg_vm_save ( msg_vm_t  vm)
XBT_PRIVATE void TRACE_msg_vm_restore ( msg_vm_t  vm)
XBT_PRIVATE void TRACE_msg_vm_end ( msg_vm_t  vm)

Variable Documentation

MSG_Global_t msg_global