X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/a69dbf9a2522d0ccde10350b49c5866ed9d731bd..e88d5f7e1269acfe6576b463f476d30913e17269:/src/simix/popping_bodies.c diff --git a/src/simix/popping_bodies.c b/src/simix/popping_bodies.c index dc64375fea..ef7460eaf6 100644 --- a/src/simix/popping_bodies.c +++ b/src/simix/popping_bodies.c @@ -14,56 +14,14 @@ */ #include "smx_private.h" -#include "mc/mc_interface.h" +#include "src/mc/mc_forward.h" #include "xbt/ex.h" -inline static smx_host_t simcall_BODY_host_get_by_name(const char* name) { +inline static void simcall_BODY_host_on(sg_host_t host) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_host_get_by_name(&self->simcall, name); - /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ - - self->simcall.call = SIMCALL_HOST_GET_BY_NAME; - memset(&self->simcall.result, 0, sizeof(self->simcall.result)); - memset(self->simcall.args, 0, sizeof(self->simcall.args)); - self->simcall.args[0].cc = (const char*) name; - if (self != simix_global->maestro_process) { - XBT_DEBUG("Yield process '%s' on simcall %s (%d)", self->name, - SIMIX_simcall_name(self->simcall.call), (int)self->simcall.call); - SIMIX_process_yield(self); - } else { - SIMIX_simcall_handle(&self->simcall, 0); - } - return self->simcall.result.dp; - } - -inline static const char* simcall_BODY_host_get_name(smx_host_t host) { - smx_process_t self = SIMIX_process_self(); - - /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_host_get_name(&self->simcall, host); - /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ - - self->simcall.call = SIMCALL_HOST_GET_NAME; - memset(&self->simcall.result, 0, sizeof(self->simcall.result)); - memset(self->simcall.args, 0, sizeof(self->simcall.args)); - self->simcall.args[0].dp = (void*) host; - if (self != simix_global->maestro_process) { - XBT_DEBUG("Yield process '%s' on simcall %s (%d)", self->name, - SIMIX_simcall_name(self->simcall.call), (int)self->simcall.call); - SIMIX_process_yield(self); - } else { - SIMIX_simcall_handle(&self->simcall, 0); - } - return self->simcall.result.cc; - } - -inline static void simcall_BODY_host_on(smx_host_t host) { - smx_process_t self = SIMIX_process_self(); - - /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_host_on(&self->simcall, host); + if (0) SIMIX_host_on(host); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ self->simcall.call = SIMCALL_HOST_ON; @@ -80,7 +38,7 @@ inline static void simcall_BODY_host_on(smx_host_t host) { } -inline static void simcall_BODY_host_off(smx_host_t host) { +inline static void simcall_BODY_host_off(sg_host_t host) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ @@ -101,11 +59,11 @@ inline static void simcall_BODY_host_off(smx_host_t host) { } -inline static xbt_dict_t simcall_BODY_host_get_properties(smx_host_t host) { +inline static xbt_dict_t simcall_BODY_host_get_properties(sg_host_t host) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_host_get_properties(&self->simcall, host); + if (0) SIMIX_host_get_properties(host); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ self->simcall.call = SIMCALL_HOST_GET_PROPERTIES; @@ -122,32 +80,11 @@ inline static xbt_dict_t simcall_BODY_host_get_properties(smx_host_t host) { return self->simcall.result.dp; } -inline static int simcall_BODY_host_get_core(smx_host_t host) { +inline static xbt_swag_t simcall_BODY_host_get_process_list(sg_host_t host) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_host_get_core(&self->simcall, host); - /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ - - self->simcall.call = SIMCALL_HOST_GET_CORE; - memset(&self->simcall.result, 0, sizeof(self->simcall.result)); - memset(self->simcall.args, 0, sizeof(self->simcall.args)); - self->simcall.args[0].dp = (void*) host; - if (self != simix_global->maestro_process) { - XBT_DEBUG("Yield process '%s' on simcall %s (%d)", self->name, - SIMIX_simcall_name(self->simcall.call), (int)self->simcall.call); - SIMIX_process_yield(self); - } else { - SIMIX_simcall_handle(&self->simcall, 0); - } - return self->simcall.result.i; - } - -inline static xbt_swag_t simcall_BODY_host_get_process_list(smx_host_t host) { - smx_process_t self = SIMIX_process_self(); - - /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_host_get_process_list(&self->simcall, host); + if (0) SIMIX_host_get_process_list(host); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ self->simcall.call = SIMCALL_HOST_GET_PROCESS_LIST; @@ -164,14 +101,14 @@ inline static xbt_swag_t simcall_BODY_host_get_process_list(smx_host_t host) { return self->simcall.result.dp; } -inline static double simcall_BODY_host_get_speed(smx_host_t host) { +inline static double simcall_BODY_host_get_current_power_peak(sg_host_t host) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_host_get_speed(&self->simcall, host); + if (0) SIMIX_host_get_current_power_peak(host); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ - self->simcall.call = SIMCALL_HOST_GET_SPEED; + self->simcall.call = SIMCALL_HOST_GET_CURRENT_POWER_PEAK; memset(&self->simcall.result, 0, sizeof(self->simcall.result)); memset(self->simcall.args, 0, sizeof(self->simcall.args)); self->simcall.args[0].dp = (void*) host; @@ -185,17 +122,18 @@ inline static double simcall_BODY_host_get_speed(smx_host_t host) { return self->simcall.result.d; } -inline static double simcall_BODY_host_get_available_speed(smx_host_t host) { +inline static double simcall_BODY_host_get_power_peak_at(sg_host_t host, int pstate_index) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_host_get_available_speed(&self->simcall, host); + if (0) SIMIX_host_get_power_peak_at(host, pstate_index); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ - self->simcall.call = SIMCALL_HOST_GET_AVAILABLE_SPEED; + self->simcall.call = SIMCALL_HOST_GET_POWER_PEAK_AT; memset(&self->simcall.result, 0, sizeof(self->simcall.result)); memset(self->simcall.args, 0, sizeof(self->simcall.args)); self->simcall.args[0].dp = (void*) host; + self->simcall.args[1].i = (int) pstate_index; if (self != simix_global->maestro_process) { XBT_DEBUG("Yield process '%s' on simcall %s (%d)", self->name, SIMIX_simcall_name(self->simcall.call), (int)self->simcall.call); @@ -206,38 +144,18 @@ inline static double simcall_BODY_host_get_available_speed(smx_host_t host) { return self->simcall.result.d; } -inline static int simcall_BODY_host_get_state(smx_host_t host) { +inline static double simcall_BODY_host_get_wattmin_at(sg_host_t host, int pstate_index) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_host_get_state(&self->simcall, host); + if (0) SIMIX_host_get_wattmin_at(host, pstate_index); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ - self->simcall.call = SIMCALL_HOST_GET_STATE; - memset(&self->simcall.result, 0, sizeof(self->simcall.result)); - memset(self->simcall.args, 0, sizeof(self->simcall.args)); - self->simcall.args[0].dp = (void*) host; - if (self != simix_global->maestro_process) { - XBT_DEBUG("Yield process '%s' on simcall %s (%d)", self->name, - SIMIX_simcall_name(self->simcall.call), (int)self->simcall.call); - SIMIX_process_yield(self); - } else { - SIMIX_simcall_handle(&self->simcall, 0); - } - return self->simcall.result.i; - } - -inline static double simcall_BODY_host_get_current_power_peak(smx_host_t host) { - smx_process_t self = SIMIX_process_self(); - - /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_host_get_current_power_peak(&self->simcall, host); - /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ - - self->simcall.call = SIMCALL_HOST_GET_CURRENT_POWER_PEAK; + self->simcall.call = SIMCALL_HOST_GET_WATTMIN_AT; memset(&self->simcall.result, 0, sizeof(self->simcall.result)); memset(self->simcall.args, 0, sizeof(self->simcall.args)); self->simcall.args[0].dp = (void*) host; + self->simcall.args[1].i = (int) pstate_index; if (self != simix_global->maestro_process) { XBT_DEBUG("Yield process '%s' on simcall %s (%d)", self->name, SIMIX_simcall_name(self->simcall.call), (int)self->simcall.call); @@ -248,14 +166,14 @@ inline static double simcall_BODY_host_get_current_power_peak(smx_host_t host) { return self->simcall.result.d; } -inline static double simcall_BODY_host_get_power_peak_at(smx_host_t host, int pstate_index) { +inline static double simcall_BODY_host_get_wattmax_at(sg_host_t host, int pstate_index) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_host_get_power_peak_at(&self->simcall, host, pstate_index); + if (0) SIMIX_host_get_wattmax_at(host, pstate_index); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ - self->simcall.call = SIMCALL_HOST_GET_POWER_PEAK_AT; + self->simcall.call = SIMCALL_HOST_GET_WATTMAX_AT; memset(&self->simcall.result, 0, sizeof(self->simcall.result)); memset(self->simcall.args, 0, sizeof(self->simcall.args)); self->simcall.args[0].dp = (void*) host; @@ -270,35 +188,14 @@ inline static double simcall_BODY_host_get_power_peak_at(smx_host_t host, int ps return self->simcall.result.d; } -inline static int simcall_BODY_host_get_nb_pstates(smx_host_t host) { - smx_process_t self = SIMIX_process_self(); - - /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_host_get_nb_pstates(&self->simcall, host); - /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ - - self->simcall.call = SIMCALL_HOST_GET_NB_PSTATES; - memset(&self->simcall.result, 0, sizeof(self->simcall.result)); - memset(self->simcall.args, 0, sizeof(self->simcall.args)); - self->simcall.args[0].dp = (void*) host; - if (self != simix_global->maestro_process) { - XBT_DEBUG("Yield process '%s' on simcall %s (%d)", self->name, - SIMIX_simcall_name(self->simcall.call), (int)self->simcall.call); - SIMIX_process_yield(self); - } else { - SIMIX_simcall_handle(&self->simcall, 0); - } - return self->simcall.result.i; - } - -inline static void simcall_BODY_host_set_power_peak_at(smx_host_t host, int pstate_index) { +inline static void simcall_BODY_host_set_pstate(sg_host_t host, int pstate_index) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_host_set_power_peak_at(&self->simcall, host, pstate_index); + if (0) SIMIX_host_set_pstate(host, pstate_index); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ - self->simcall.call = SIMCALL_HOST_SET_POWER_PEAK_AT; + self->simcall.call = SIMCALL_HOST_SET_PSTATE; memset(&self->simcall.result, 0, sizeof(self->simcall.result)); memset(self->simcall.args, 0, sizeof(self->simcall.args)); self->simcall.args[0].dp = (void*) host; @@ -313,14 +210,14 @@ inline static void simcall_BODY_host_set_power_peak_at(smx_host_t host, int psta } -inline static double simcall_BODY_host_get_consumed_energy(smx_host_t host) { +inline static xbt_dict_t simcall_BODY_host_get_mounted_storage_list(sg_host_t host) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_host_get_consumed_energy(&self->simcall, host); + if (0) SIMIX_host_get_mounted_storage_list(host); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ - self->simcall.call = SIMCALL_HOST_GET_CONSUMED_ENERGY; + self->simcall.call = SIMCALL_HOST_GET_MOUNTED_STORAGE_LIST; memset(&self->simcall.result, 0, sizeof(self->simcall.result)); memset(self->simcall.args, 0, sizeof(self->simcall.args)); self->simcall.args[0].dp = (void*) host; @@ -331,25 +228,20 @@ inline static double simcall_BODY_host_get_consumed_energy(smx_host_t host) { } else { SIMIX_simcall_handle(&self->simcall, 0); } - return self->simcall.result.d; + return self->simcall.result.dp; } -inline static smx_action_t simcall_BODY_host_execute(const char* name, smx_host_t host, double computation_amount, double priority, double bound, unsigned long affinity_mask) { +inline static xbt_dynar_t simcall_BODY_host_get_attached_storage_list(sg_host_t host) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_host_execute(&self->simcall, name, host, computation_amount, priority, bound, affinity_mask); + if (0) SIMIX_host_get_attached_storage_list(host); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ - self->simcall.call = SIMCALL_HOST_EXECUTE; + self->simcall.call = SIMCALL_HOST_GET_ATTACHED_STORAGE_LIST; memset(&self->simcall.result, 0, sizeof(self->simcall.result)); memset(self->simcall.args, 0, sizeof(self->simcall.args)); - self->simcall.args[0].cc = (const char*) name; - self->simcall.args[1].dp = (void*) host; - self->simcall.args[2].d = (double) computation_amount; - self->simcall.args[3].d = (double) priority; - self->simcall.args[4].d = (double) bound; - self->simcall.args[5].ul = (unsigned long) affinity_mask; + self->simcall.args[0].dp = (void*) host; if (self != simix_global->maestro_process) { XBT_DEBUG("Yield process '%s' on simcall %s (%d)", self->name, SIMIX_simcall_name(self->simcall.call), (int)self->simcall.call); @@ -360,23 +252,18 @@ inline static smx_action_t simcall_BODY_host_execute(const char* name, smx_host_ return self->simcall.result.dp; } -inline static smx_action_t simcall_BODY_host_parallel_execute(const char* name, int host_nb, smx_host_t* host_list, double* computation_amount, double* communication_amount, double amount, double rate) { +inline static void simcall_BODY_host_get_params(sg_host_t ind_vm, vm_params_t params) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_host_parallel_execute(&self->simcall, name, host_nb, host_list, computation_amount, communication_amount, amount, rate); + if (0) SIMIX_host_get_params(ind_vm, params); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ - self->simcall.call = SIMCALL_HOST_PARALLEL_EXECUTE; + self->simcall.call = SIMCALL_HOST_GET_PARAMS; memset(&self->simcall.result, 0, sizeof(self->simcall.result)); memset(self->simcall.args, 0, sizeof(self->simcall.args)); - self->simcall.args[0].cc = (const char*) name; - self->simcall.args[1].i = (int) host_nb; - self->simcall.args[2].dp = (void*) host_list; - self->simcall.args[3].dp = (void*) computation_amount; - self->simcall.args[4].dp = (void*) communication_amount; - self->simcall.args[5].d = (double) amount; - self->simcall.args[6].d = (double) rate; + self->simcall.args[0].dp = (void*) ind_vm; + self->simcall.args[1].dp = (void*) params; if (self != simix_global->maestro_process) { XBT_DEBUG("Yield process '%s' on simcall %s (%d)", self->name, SIMIX_simcall_name(self->simcall.call), (int)self->simcall.call); @@ -384,20 +271,21 @@ inline static smx_action_t simcall_BODY_host_parallel_execute(const char* name, } else { SIMIX_simcall_handle(&self->simcall, 0); } - return self->simcall.result.dp; + } -inline static void simcall_BODY_host_execution_destroy(smx_action_t execution) { +inline static void simcall_BODY_host_set_params(sg_host_t ind_vm, vm_params_t params) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_host_execution_destroy(&self->simcall, execution); + if (0) SIMIX_host_set_params(ind_vm, params); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ - self->simcall.call = SIMCALL_HOST_EXECUTION_DESTROY; + self->simcall.call = SIMCALL_HOST_SET_PARAMS; memset(&self->simcall.result, 0, sizeof(self->simcall.result)); memset(self->simcall.args, 0, sizeof(self->simcall.args)); - self->simcall.args[0].dp = (void*) execution; + self->simcall.args[0].dp = (void*) ind_vm; + self->simcall.args[1].dp = (void*) params; if (self != simix_global->maestro_process) { XBT_DEBUG("Yield process '%s' on simcall %s (%d)", self->name, SIMIX_simcall_name(self->simcall.call), (int)self->simcall.call); @@ -408,17 +296,18 @@ inline static void simcall_BODY_host_execution_destroy(smx_action_t execution) { } -inline static void simcall_BODY_host_execution_cancel(smx_action_t execution) { +inline static sg_host_t simcall_BODY_vm_create(const char* name, sg_host_t ind_pm) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_host_execution_cancel(&self->simcall, execution); + if (0) SIMIX_vm_create(name, ind_pm); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ - self->simcall.call = SIMCALL_HOST_EXECUTION_CANCEL; + self->simcall.call = SIMCALL_VM_CREATE; memset(&self->simcall.result, 0, sizeof(self->simcall.result)); memset(self->simcall.args, 0, sizeof(self->simcall.args)); - self->simcall.args[0].dp = (void*) execution; + self->simcall.args[0].cc = (const char*) name; + self->simcall.args[1].dp = (void*) ind_pm; if (self != simix_global->maestro_process) { XBT_DEBUG("Yield process '%s' on simcall %s (%d)", self->name, SIMIX_simcall_name(self->simcall.call), (int)self->simcall.call); @@ -426,20 +315,20 @@ inline static void simcall_BODY_host_execution_cancel(smx_action_t execution) { } else { SIMIX_simcall_handle(&self->simcall, 0); } - + return self->simcall.result.dp; } -inline static double simcall_BODY_host_execution_get_remains(smx_action_t execution) { +inline static void simcall_BODY_vm_start(sg_host_t ind_vm) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_host_execution_get_remains(&self->simcall, execution); + if (0) SIMIX_vm_start(ind_vm); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ - self->simcall.call = SIMCALL_HOST_EXECUTION_GET_REMAINS; + self->simcall.call = SIMCALL_VM_START; memset(&self->simcall.result, 0, sizeof(self->simcall.result)); memset(self->simcall.args, 0, sizeof(self->simcall.args)); - self->simcall.args[0].dp = (void*) execution; + self->simcall.args[0].dp = (void*) ind_vm; if (self != simix_global->maestro_process) { XBT_DEBUG("Yield process '%s' on simcall %s (%d)", self->name, SIMIX_simcall_name(self->simcall.call), (int)self->simcall.call); @@ -447,20 +336,20 @@ inline static double simcall_BODY_host_execution_get_remains(smx_action_t execut } else { SIMIX_simcall_handle(&self->simcall, 0); } - return self->simcall.result.d; + } -inline static int simcall_BODY_host_execution_get_state(smx_action_t execution) { +inline static int simcall_BODY_vm_get_state(sg_host_t ind_vm) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_host_execution_get_state(&self->simcall, execution); + if (0) SIMIX_vm_get_state(ind_vm); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ - self->simcall.call = SIMCALL_HOST_EXECUTION_GET_STATE; + self->simcall.call = SIMCALL_VM_GET_STATE; memset(&self->simcall.result, 0, sizeof(self->simcall.result)); memset(self->simcall.args, 0, sizeof(self->simcall.args)); - self->simcall.args[0].dp = (void*) execution; + self->simcall.args[0].dp = (void*) ind_vm; if (self != simix_global->maestro_process) { XBT_DEBUG("Yield process '%s' on simcall %s (%d)", self->name, SIMIX_simcall_name(self->simcall.call), (int)self->simcall.call); @@ -471,18 +360,18 @@ inline static int simcall_BODY_host_execution_get_state(smx_action_t execution) return self->simcall.result.i; } -inline static void simcall_BODY_host_execution_set_priority(smx_action_t execution, double priority) { +inline static void simcall_BODY_vm_migrate(sg_host_t ind_vm, sg_host_t ind_dst_pm) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_host_execution_set_priority(&self->simcall, execution, priority); + if (0) SIMIX_vm_migrate(ind_vm, ind_dst_pm); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ - self->simcall.call = SIMCALL_HOST_EXECUTION_SET_PRIORITY; + self->simcall.call = SIMCALL_VM_MIGRATE; memset(&self->simcall.result, 0, sizeof(self->simcall.result)); memset(self->simcall.args, 0, sizeof(self->simcall.args)); - self->simcall.args[0].dp = (void*) execution; - self->simcall.args[1].d = (double) priority; + self->simcall.args[0].dp = (void*) ind_vm; + self->simcall.args[1].dp = (void*) ind_dst_pm; if (self != simix_global->maestro_process) { XBT_DEBUG("Yield process '%s' on simcall %s (%d)", self->name, SIMIX_simcall_name(self->simcall.call), (int)self->simcall.call); @@ -493,18 +382,17 @@ inline static void simcall_BODY_host_execution_set_priority(smx_action_t executi } -inline static void simcall_BODY_host_execution_set_bound(smx_action_t execution, double bound) { +inline static void* simcall_BODY_vm_get_pm(sg_host_t ind_vm) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_host_execution_set_bound(&self->simcall, execution, bound); + if (0) SIMIX_vm_get_pm(ind_vm); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ - self->simcall.call = SIMCALL_HOST_EXECUTION_SET_BOUND; + self->simcall.call = SIMCALL_VM_GET_PM; memset(&self->simcall.result, 0, sizeof(self->simcall.result)); memset(self->simcall.args, 0, sizeof(self->simcall.args)); - self->simcall.args[0].dp = (void*) execution; - self->simcall.args[1].d = (double) bound; + self->simcall.args[0].dp = (void*) ind_vm; if (self != simix_global->maestro_process) { XBT_DEBUG("Yield process '%s' on simcall %s (%d)", self->name, SIMIX_simcall_name(self->simcall.call), (int)self->simcall.call); @@ -512,22 +400,21 @@ inline static void simcall_BODY_host_execution_set_bound(smx_action_t execution, } else { SIMIX_simcall_handle(&self->simcall, 0); } - + return self->simcall.result.dp; } -inline static void simcall_BODY_host_execution_set_affinity(smx_action_t execution, smx_host_t ws, unsigned long mask) { +inline static void simcall_BODY_vm_set_bound(sg_host_t ind_vm, double bound) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_host_execution_set_affinity(&self->simcall, execution, ws, mask); + if (0) SIMIX_vm_set_bound(ind_vm, bound); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ - self->simcall.call = SIMCALL_HOST_EXECUTION_SET_AFFINITY; + self->simcall.call = SIMCALL_VM_SET_BOUND; memset(&self->simcall.result, 0, sizeof(self->simcall.result)); memset(self->simcall.args, 0, sizeof(self->simcall.args)); - self->simcall.args[0].dp = (void*) execution; - self->simcall.args[1].dp = (void*) ws; - self->simcall.args[2].ul = (unsigned long) mask; + self->simcall.args[0].dp = (void*) ind_vm; + self->simcall.args[1].d = (double) bound; if (self != simix_global->maestro_process) { XBT_DEBUG("Yield process '%s' on simcall %s (%d)", self->name, SIMIX_simcall_name(self->simcall.call), (int)self->simcall.call); @@ -538,17 +425,19 @@ inline static void simcall_BODY_host_execution_set_affinity(smx_action_t executi } -inline static int simcall_BODY_host_execution_wait(smx_action_t execution) { +inline static void simcall_BODY_vm_set_affinity(sg_host_t ind_vm, sg_host_t ind_pm, unsigned long mask) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_host_execution_wait(&self->simcall, execution); + if (0) SIMIX_vm_set_affinity(ind_vm, ind_pm, mask); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ - self->simcall.call = SIMCALL_HOST_EXECUTION_WAIT; + self->simcall.call = SIMCALL_VM_SET_AFFINITY; memset(&self->simcall.result, 0, sizeof(self->simcall.result)); memset(self->simcall.args, 0, sizeof(self->simcall.args)); - self->simcall.args[0].dp = (void*) execution; + self->simcall.args[0].dp = (void*) ind_vm; + self->simcall.args[1].dp = (void*) ind_pm; + self->simcall.args[2].ul = (unsigned long) mask; if (self != simix_global->maestro_process) { XBT_DEBUG("Yield process '%s' on simcall %s (%d)", self->name, SIMIX_simcall_name(self->simcall.call), (int)self->simcall.call); @@ -556,20 +445,20 @@ inline static int simcall_BODY_host_execution_wait(smx_action_t execution) { } else { SIMIX_simcall_handle(&self->simcall, 0); } - return self->simcall.result.i; + } -inline static xbt_dict_t simcall_BODY_host_get_mounted_storage_list(smx_host_t host) { +inline static void simcall_BODY_vm_destroy(sg_host_t ind_vm) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_host_get_mounted_storage_list(&self->simcall, host); + if (0) SIMIX_vm_destroy(ind_vm); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ - self->simcall.call = SIMCALL_HOST_GET_MOUNTED_STORAGE_LIST; + self->simcall.call = SIMCALL_VM_DESTROY; memset(&self->simcall.result, 0, sizeof(self->simcall.result)); memset(self->simcall.args, 0, sizeof(self->simcall.args)); - self->simcall.args[0].dp = (void*) host; + self->simcall.args[0].dp = (void*) ind_vm; if (self != simix_global->maestro_process) { XBT_DEBUG("Yield process '%s' on simcall %s (%d)", self->name, SIMIX_simcall_name(self->simcall.call), (int)self->simcall.call); @@ -577,20 +466,20 @@ inline static xbt_dict_t simcall_BODY_host_get_mounted_storage_list(smx_host_t h } else { SIMIX_simcall_handle(&self->simcall, 0); } - return self->simcall.result.dp; + } -inline static xbt_dynar_t simcall_BODY_host_get_attached_storage_list(smx_host_t host) { +inline static void simcall_BODY_vm_suspend(sg_host_t ind_vm) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_host_get_attached_storage_list(&self->simcall, host); + if (0) simcall_HANDLER_vm_suspend(&self->simcall, ind_vm); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ - self->simcall.call = SIMCALL_HOST_GET_ATTACHED_STORAGE_LIST; + self->simcall.call = SIMCALL_VM_SUSPEND; memset(&self->simcall.result, 0, sizeof(self->simcall.result)); memset(self->simcall.args, 0, sizeof(self->simcall.args)); - self->simcall.args[0].dp = (void*) host; + self->simcall.args[0].dp = (void*) ind_vm; if (self != simix_global->maestro_process) { XBT_DEBUG("Yield process '%s' on simcall %s (%d)", self->name, SIMIX_simcall_name(self->simcall.call), (int)self->simcall.call); @@ -598,21 +487,20 @@ inline static xbt_dynar_t simcall_BODY_host_get_attached_storage_list(smx_host_t } else { SIMIX_simcall_handle(&self->simcall, 0); } - return self->simcall.result.dp; + } -inline static void simcall_BODY_host_get_params(smx_host_t ind_vm, ws_params_t params) { +inline static void simcall_BODY_vm_resume(sg_host_t ind_vm) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_host_get_params(&self->simcall, ind_vm, params); + if (0) simcall_HANDLER_vm_resume(&self->simcall, ind_vm); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ - self->simcall.call = SIMCALL_HOST_GET_PARAMS; + self->simcall.call = SIMCALL_VM_RESUME; memset(&self->simcall.result, 0, sizeof(self->simcall.result)); memset(self->simcall.args, 0, sizeof(self->simcall.args)); self->simcall.args[0].dp = (void*) ind_vm; - self->simcall.args[1].dp = (void*) params; if (self != simix_global->maestro_process) { XBT_DEBUG("Yield process '%s' on simcall %s (%d)", self->name, SIMIX_simcall_name(self->simcall.call), (int)self->simcall.call); @@ -623,18 +511,17 @@ inline static void simcall_BODY_host_get_params(smx_host_t ind_vm, ws_params_t p } -inline static void simcall_BODY_host_set_params(smx_host_t ind_vm, ws_params_t params) { +inline static void simcall_BODY_vm_shutdown(sg_host_t ind_vm) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_host_set_params(&self->simcall, ind_vm, params); + if (0) simcall_HANDLER_vm_shutdown(&self->simcall, ind_vm); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ - self->simcall.call = SIMCALL_HOST_SET_PARAMS; + self->simcall.call = SIMCALL_VM_SHUTDOWN; memset(&self->simcall.result, 0, sizeof(self->simcall.result)); memset(self->simcall.args, 0, sizeof(self->simcall.args)); self->simcall.args[0].dp = (void*) ind_vm; - self->simcall.args[1].dp = (void*) params; if (self != simix_global->maestro_process) { XBT_DEBUG("Yield process '%s' on simcall %s (%d)", self->name, SIMIX_simcall_name(self->simcall.call), (int)self->simcall.call); @@ -645,18 +532,17 @@ inline static void simcall_BODY_host_set_params(smx_host_t ind_vm, ws_params_t p } -inline static void* simcall_BODY_vm_create(const char* name, smx_host_t ind_pm) { +inline static void simcall_BODY_vm_save(sg_host_t ind_vm) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_vm_create(&self->simcall, name, ind_pm); + if (0) simcall_HANDLER_vm_save(&self->simcall, ind_vm); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ - self->simcall.call = SIMCALL_VM_CREATE; + self->simcall.call = SIMCALL_VM_SAVE; memset(&self->simcall.result, 0, sizeof(self->simcall.result)); memset(self->simcall.args, 0, sizeof(self->simcall.args)); - self->simcall.args[0].cc = (const char*) name; - self->simcall.args[1].dp = (void*) ind_pm; + self->simcall.args[0].dp = (void*) ind_vm; if (self != simix_global->maestro_process) { XBT_DEBUG("Yield process '%s' on simcall %s (%d)", self->name, SIMIX_simcall_name(self->simcall.call), (int)self->simcall.call); @@ -664,17 +550,17 @@ inline static void* simcall_BODY_vm_create(const char* name, smx_host_t ind_pm) } else { SIMIX_simcall_handle(&self->simcall, 0); } - return self->simcall.result.dp; + } -inline static void simcall_BODY_vm_start(smx_host_t ind_vm) { +inline static void simcall_BODY_vm_restore(sg_host_t ind_vm) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_vm_start(&self->simcall, ind_vm); + if (0) simcall_HANDLER_vm_restore(&self->simcall, ind_vm); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ - self->simcall.call = SIMCALL_VM_START; + self->simcall.call = SIMCALL_VM_RESTORE; memset(&self->simcall.result, 0, sizeof(self->simcall.result)); memset(self->simcall.args, 0, sizeof(self->simcall.args)); self->simcall.args[0].dp = (void*) ind_vm; @@ -688,17 +574,19 @@ inline static void simcall_BODY_vm_start(smx_host_t ind_vm) { } -inline static int simcall_BODY_vm_get_state(smx_host_t ind_vm) { +inline static void simcall_BODY_vm_migratefrom_resumeto(sg_host_t vm, sg_host_t src_pm, sg_host_t dst_pm) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_vm_get_state(&self->simcall, ind_vm); + if (0) SIMIX_vm_migratefrom_resumeto(vm, src_pm, dst_pm); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ - self->simcall.call = SIMCALL_VM_GET_STATE; + self->simcall.call = SIMCALL_VM_MIGRATEFROM_RESUMETO; memset(&self->simcall.result, 0, sizeof(self->simcall.result)); memset(self->simcall.args, 0, sizeof(self->simcall.args)); - self->simcall.args[0].dp = (void*) ind_vm; + self->simcall.args[0].dp = (void*) vm; + self->simcall.args[1].dp = (void*) src_pm; + self->simcall.args[2].dp = (void*) dst_pm; if (self != simix_global->maestro_process) { XBT_DEBUG("Yield process '%s' on simcall %s (%d)", self->name, SIMIX_simcall_name(self->simcall.call), (int)self->simcall.call); @@ -706,21 +594,28 @@ inline static int simcall_BODY_vm_get_state(smx_host_t ind_vm) { } else { SIMIX_simcall_handle(&self->simcall, 0); } - return self->simcall.result.i; + } -inline static void simcall_BODY_vm_migrate(smx_host_t ind_vm, smx_host_t ind_dst_pm) { +inline static void* simcall_BODY_process_create(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 self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_vm_migrate(&self->simcall, ind_vm, ind_dst_pm); + if (0) simcall_HANDLER_process_create(&self->simcall, name, code, data, hostname, kill_time, argc, argv, properties, auto_restart); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ - self->simcall.call = SIMCALL_VM_MIGRATE; + self->simcall.call = SIMCALL_PROCESS_CREATE; memset(&self->simcall.result, 0, sizeof(self->simcall.result)); memset(self->simcall.args, 0, sizeof(self->simcall.args)); - self->simcall.args[0].dp = (void*) ind_vm; - self->simcall.args[1].dp = (void*) ind_dst_pm; + self->simcall.args[0].cc = (const char*) name; + self->simcall.args[1].fp = (FPtr) code; + self->simcall.args[2].dp = (void*) data; + self->simcall.args[3].cc = (const char*) hostname; + self->simcall.args[4].d = (double) kill_time; + self->simcall.args[5].i = (int) argc; + self->simcall.args[6].dp = (void*) argv; + self->simcall.args[7].dp = (void*) properties; + self->simcall.args[8].i = (int) auto_restart; if (self != simix_global->maestro_process) { XBT_DEBUG("Yield process '%s' on simcall %s (%d)", self->name, SIMIX_simcall_name(self->simcall.call), (int)self->simcall.call); @@ -728,20 +623,20 @@ inline static void simcall_BODY_vm_migrate(smx_host_t ind_vm, smx_host_t ind_dst } else { SIMIX_simcall_handle(&self->simcall, 0); } - + return self->simcall.result.dp; } -inline static void* simcall_BODY_vm_get_pm(smx_host_t ind_vm) { +inline static void simcall_BODY_process_kill(smx_process_t process) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_vm_get_pm(&self->simcall, ind_vm); + if (0) simcall_HANDLER_process_kill(&self->simcall, process); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ - self->simcall.call = SIMCALL_VM_GET_PM; + self->simcall.call = SIMCALL_PROCESS_KILL; memset(&self->simcall.result, 0, sizeof(self->simcall.result)); memset(self->simcall.args, 0, sizeof(self->simcall.args)); - self->simcall.args[0].dp = (void*) ind_vm; + self->simcall.args[0].dp = (void*) process; if (self != simix_global->maestro_process) { XBT_DEBUG("Yield process '%s' on simcall %s (%d)", self->name, SIMIX_simcall_name(self->simcall.call), (int)self->simcall.call); @@ -749,21 +644,20 @@ inline static void* simcall_BODY_vm_get_pm(smx_host_t ind_vm) { } else { SIMIX_simcall_handle(&self->simcall, 0); } - return self->simcall.result.dp; + } -inline static void simcall_BODY_vm_set_bound(smx_host_t ind_vm, double bound) { +inline static void simcall_BODY_process_killall(int reset_pid) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_vm_set_bound(&self->simcall, ind_vm, bound); + if (0) simcall_HANDLER_process_killall(&self->simcall, reset_pid); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ - self->simcall.call = SIMCALL_VM_SET_BOUND; + self->simcall.call = SIMCALL_PROCESS_KILLALL; memset(&self->simcall.result, 0, sizeof(self->simcall.result)); memset(self->simcall.args, 0, sizeof(self->simcall.args)); - self->simcall.args[0].dp = (void*) ind_vm; - self->simcall.args[1].d = (double) bound; + self->simcall.args[0].i = (int) reset_pid; if (self != simix_global->maestro_process) { XBT_DEBUG("Yield process '%s' on simcall %s (%d)", self->name, SIMIX_simcall_name(self->simcall.call), (int)self->simcall.call); @@ -774,19 +668,17 @@ inline static void simcall_BODY_vm_set_bound(smx_host_t ind_vm, double bound) { } -inline static void simcall_BODY_vm_set_affinity(smx_host_t ind_vm, smx_host_t ind_pm, unsigned long mask) { +inline static void simcall_BODY_process_cleanup(smx_process_t process) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_vm_set_affinity(&self->simcall, ind_vm, ind_pm, mask); + if (0) SIMIX_process_cleanup(process); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ - self->simcall.call = SIMCALL_VM_SET_AFFINITY; + self->simcall.call = SIMCALL_PROCESS_CLEANUP; memset(&self->simcall.result, 0, sizeof(self->simcall.result)); memset(self->simcall.args, 0, sizeof(self->simcall.args)); - self->simcall.args[0].dp = (void*) ind_vm; - self->simcall.args[1].dp = (void*) ind_pm; - self->simcall.args[2].ul = (unsigned long) mask; + self->simcall.args[0].dp = (void*) process; if (self != simix_global->maestro_process) { XBT_DEBUG("Yield process '%s' on simcall %s (%d)", self->name, SIMIX_simcall_name(self->simcall.call), (int)self->simcall.call); @@ -797,17 +689,17 @@ inline static void simcall_BODY_vm_set_affinity(smx_host_t ind_vm, smx_host_t in } -inline static void simcall_BODY_vm_destroy(smx_host_t ind_vm) { +inline static void simcall_BODY_process_suspend(smx_process_t process) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_vm_destroy(&self->simcall, ind_vm); + if (0) simcall_HANDLER_process_suspend(&self->simcall, process); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ - self->simcall.call = SIMCALL_VM_DESTROY; + self->simcall.call = SIMCALL_PROCESS_SUSPEND; memset(&self->simcall.result, 0, sizeof(self->simcall.result)); memset(self->simcall.args, 0, sizeof(self->simcall.args)); - self->simcall.args[0].dp = (void*) ind_vm; + self->simcall.args[0].dp = (void*) process; if (self != simix_global->maestro_process) { XBT_DEBUG("Yield process '%s' on simcall %s (%d)", self->name, SIMIX_simcall_name(self->simcall.call), (int)self->simcall.call); @@ -818,17 +710,17 @@ inline static void simcall_BODY_vm_destroy(smx_host_t ind_vm) { } -inline static void simcall_BODY_vm_suspend(smx_host_t ind_vm) { +inline static void simcall_BODY_process_resume(smx_process_t process) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_vm_suspend(&self->simcall, ind_vm); + if (0) simcall_HANDLER_process_resume(&self->simcall, process); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ - self->simcall.call = SIMCALL_VM_SUSPEND; + self->simcall.call = SIMCALL_PROCESS_RESUME; memset(&self->simcall.result, 0, sizeof(self->simcall.result)); memset(self->simcall.args, 0, sizeof(self->simcall.args)); - self->simcall.args[0].dp = (void*) ind_vm; + self->simcall.args[0].dp = (void*) process; if (self != simix_global->maestro_process) { XBT_DEBUG("Yield process '%s' on simcall %s (%d)", self->name, SIMIX_simcall_name(self->simcall.call), (int)self->simcall.call); @@ -839,17 +731,17 @@ inline static void simcall_BODY_vm_suspend(smx_host_t ind_vm) { } -inline static void simcall_BODY_vm_resume(smx_host_t ind_vm) { +inline static int simcall_BODY_process_count() { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_vm_resume(&self->simcall, ind_vm); + if (0) SIMIX_process_count(); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ - self->simcall.call = SIMCALL_VM_RESUME; + self->simcall.call = SIMCALL_PROCESS_COUNT; memset(&self->simcall.result, 0, sizeof(self->simcall.result)); memset(self->simcall.args, 0, sizeof(self->simcall.args)); - self->simcall.args[0].dp = (void*) ind_vm; + if (self != simix_global->maestro_process) { XBT_DEBUG("Yield process '%s' on simcall %s (%d)", self->name, SIMIX_simcall_name(self->simcall.call), (int)self->simcall.call); @@ -857,20 +749,20 @@ inline static void simcall_BODY_vm_resume(smx_host_t ind_vm) { } else { SIMIX_simcall_handle(&self->simcall, 0); } - + return self->simcall.result.i; } -inline static void simcall_BODY_vm_shutdown(smx_host_t ind_vm) { +inline static int simcall_BODY_process_get_PID(smx_process_t process) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_vm_shutdown(&self->simcall, ind_vm); + if (0) SIMIX_process_get_PID(process); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ - self->simcall.call = SIMCALL_VM_SHUTDOWN; + self->simcall.call = SIMCALL_PROCESS_GET_PID; memset(&self->simcall.result, 0, sizeof(self->simcall.result)); memset(self->simcall.args, 0, sizeof(self->simcall.args)); - self->simcall.args[0].dp = (void*) ind_vm; + self->simcall.args[0].dp = (void*) process; if (self != simix_global->maestro_process) { XBT_DEBUG("Yield process '%s' on simcall %s (%d)", self->name, SIMIX_simcall_name(self->simcall.call), (int)self->simcall.call); @@ -878,20 +770,20 @@ inline static void simcall_BODY_vm_shutdown(smx_host_t ind_vm) { } else { SIMIX_simcall_handle(&self->simcall, 0); } - + return self->simcall.result.i; } -inline static void simcall_BODY_vm_save(smx_host_t ind_vm) { +inline static int simcall_BODY_process_get_PPID(smx_process_t process) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_vm_save(&self->simcall, ind_vm); + if (0) SIMIX_process_get_PPID(process); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ - self->simcall.call = SIMCALL_VM_SAVE; + self->simcall.call = SIMCALL_PROCESS_GET_PPID; memset(&self->simcall.result, 0, sizeof(self->simcall.result)); memset(self->simcall.args, 0, sizeof(self->simcall.args)); - self->simcall.args[0].dp = (void*) ind_vm; + self->simcall.args[0].dp = (void*) process; if (self != simix_global->maestro_process) { XBT_DEBUG("Yield process '%s' on simcall %s (%d)", self->name, SIMIX_simcall_name(self->simcall.call), (int)self->simcall.call); @@ -899,20 +791,20 @@ inline static void simcall_BODY_vm_save(smx_host_t ind_vm) { } else { SIMIX_simcall_handle(&self->simcall, 0); } - + return self->simcall.result.i; } -inline static void simcall_BODY_vm_restore(smx_host_t ind_vm) { +inline static void* simcall_BODY_process_get_data(smx_process_t process) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_vm_restore(&self->simcall, ind_vm); + if (0) SIMIX_process_get_data(process); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ - self->simcall.call = SIMCALL_VM_RESTORE; + self->simcall.call = SIMCALL_PROCESS_GET_DATA; memset(&self->simcall.result, 0, sizeof(self->simcall.result)); memset(self->simcall.args, 0, sizeof(self->simcall.args)); - self->simcall.args[0].dp = (void*) ind_vm; + self->simcall.args[0].dp = (void*) process; if (self != simix_global->maestro_process) { XBT_DEBUG("Yield process '%s' on simcall %s (%d)", self->name, SIMIX_simcall_name(self->simcall.call), (int)self->simcall.call); @@ -920,29 +812,21 @@ inline static void simcall_BODY_vm_restore(smx_host_t ind_vm) { } else { SIMIX_simcall_handle(&self->simcall, 0); } - + return self->simcall.result.dp; } -inline static void simcall_BODY_process_create(smx_process_t* process, 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) { +inline static void simcall_BODY_process_set_data(smx_process_t process, void* data) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_process_create(&self->simcall, process, name, code, data, hostname, kill_time, argc, argv, properties, auto_restart); + if (0) SIMIX_process_set_data(process, data); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ - self->simcall.call = SIMCALL_PROCESS_CREATE; + self->simcall.call = SIMCALL_PROCESS_SET_DATA; memset(&self->simcall.result, 0, sizeof(self->simcall.result)); memset(self->simcall.args, 0, sizeof(self->simcall.args)); self->simcall.args[0].dp = (void*) process; - self->simcall.args[1].cc = (const char*) name; - self->simcall.args[2].fp = (FPtr) code; - self->simcall.args[3].dp = (void*) data; - self->simcall.args[4].cc = (const char*) hostname; - self->simcall.args[5].d = (double) kill_time; - self->simcall.args[6].i = (int) argc; - self->simcall.args[7].dp = (void*) argv; - self->simcall.args[8].dp = (void*) properties; - self->simcall.args[9].i = (int) auto_restart; + self->simcall.args[1].dp = (void*) data; if (self != simix_global->maestro_process) { XBT_DEBUG("Yield process '%s' on simcall %s (%d)", self->name, SIMIX_simcall_name(self->simcall.call), (int)self->simcall.call); @@ -953,17 +837,18 @@ inline static void simcall_BODY_process_create(smx_process_t* process, const cha } -inline static void simcall_BODY_process_kill(smx_process_t process) { +inline static void simcall_BODY_process_set_host(smx_process_t process, sg_host_t dest) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_process_kill(&self->simcall, process); + if (0) simcall_HANDLER_process_set_host(&self->simcall, process, dest); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ - self->simcall.call = SIMCALL_PROCESS_KILL; + self->simcall.call = SIMCALL_PROCESS_SET_HOST; memset(&self->simcall.result, 0, sizeof(self->simcall.result)); memset(self->simcall.args, 0, sizeof(self->simcall.args)); self->simcall.args[0].dp = (void*) process; + self->simcall.args[1].dp = (void*) dest; if (self != simix_global->maestro_process) { XBT_DEBUG("Yield process '%s' on simcall %s (%d)", self->name, SIMIX_simcall_name(self->simcall.call), (int)self->simcall.call); @@ -974,17 +859,17 @@ inline static void simcall_BODY_process_kill(smx_process_t process) { } -inline static void simcall_BODY_process_killall(int reset_pid) { +inline static sg_host_t simcall_BODY_process_get_host(smx_process_t process) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_process_killall(&self->simcall, reset_pid); + if (0) SIMIX_process_get_host(process); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ - self->simcall.call = SIMCALL_PROCESS_KILLALL; + self->simcall.call = SIMCALL_PROCESS_GET_HOST; memset(&self->simcall.result, 0, sizeof(self->simcall.result)); memset(self->simcall.args, 0, sizeof(self->simcall.args)); - self->simcall.args[0].i = (int) reset_pid; + self->simcall.args[0].dp = (void*) process; if (self != simix_global->maestro_process) { XBT_DEBUG("Yield process '%s' on simcall %s (%d)", self->name, SIMIX_simcall_name(self->simcall.call), (int)self->simcall.call); @@ -992,17 +877,17 @@ inline static void simcall_BODY_process_killall(int reset_pid) { } else { SIMIX_simcall_handle(&self->simcall, 0); } - + return self->simcall.result.dp; } -inline static void simcall_BODY_process_cleanup(smx_process_t process) { +inline static const char* simcall_BODY_process_get_name(smx_process_t process) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_process_cleanup(&self->simcall, process); + if (0) SIMIX_process_get_name(process); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ - self->simcall.call = SIMCALL_PROCESS_CLEANUP; + self->simcall.call = SIMCALL_PROCESS_GET_NAME; memset(&self->simcall.result, 0, sizeof(self->simcall.result)); memset(self->simcall.args, 0, sizeof(self->simcall.args)); self->simcall.args[0].dp = (void*) process; @@ -1013,21 +898,20 @@ inline static void simcall_BODY_process_cleanup(smx_process_t process) { } else { SIMIX_simcall_handle(&self->simcall, 0); } - + return self->simcall.result.cc; } -inline static void simcall_BODY_process_change_host(smx_process_t process, smx_host_t dest) { +inline static int simcall_BODY_process_is_suspended(smx_process_t process) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_process_change_host(&self->simcall, process, dest); + if (0) SIMIX_process_is_suspended(process); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ - self->simcall.call = SIMCALL_PROCESS_CHANGE_HOST; + self->simcall.call = SIMCALL_PROCESS_IS_SUSPENDED; memset(&self->simcall.result, 0, sizeof(self->simcall.result)); memset(self->simcall.args, 0, sizeof(self->simcall.args)); self->simcall.args[0].dp = (void*) process; - self->simcall.args[1].dp = (void*) dest; if (self != simix_global->maestro_process) { XBT_DEBUG("Yield process '%s' on simcall %s (%d)", self->name, SIMIX_simcall_name(self->simcall.call), (int)self->simcall.call); @@ -1035,17 +919,17 @@ inline static void simcall_BODY_process_change_host(smx_process_t process, smx_h } else { SIMIX_simcall_handle(&self->simcall, 0); } - + return self->simcall.result.i; } -inline static void simcall_BODY_process_suspend(smx_process_t process) { +inline static xbt_dict_t simcall_BODY_process_get_properties(smx_process_t process) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_process_suspend(&self->simcall, process); + if (0) SIMIX_process_get_properties(process); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ - self->simcall.call = SIMCALL_PROCESS_SUSPEND; + self->simcall.call = SIMCALL_PROCESS_GET_PROPERTIES; memset(&self->simcall.result, 0, sizeof(self->simcall.result)); memset(self->simcall.args, 0, sizeof(self->simcall.args)); self->simcall.args[0].dp = (void*) process; @@ -1056,20 +940,21 @@ inline static void simcall_BODY_process_suspend(smx_process_t process) { } else { SIMIX_simcall_handle(&self->simcall, 0); } - + return self->simcall.result.dp; } -inline static void simcall_BODY_process_resume(smx_process_t process) { +inline static int simcall_BODY_process_join(smx_process_t process, double timeout) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_process_resume(&self->simcall, process); + if (0) simcall_HANDLER_process_join(&self->simcall, process, timeout); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ - self->simcall.call = SIMCALL_PROCESS_RESUME; + self->simcall.call = SIMCALL_PROCESS_JOIN; memset(&self->simcall.result, 0, sizeof(self->simcall.result)); memset(self->simcall.args, 0, sizeof(self->simcall.args)); self->simcall.args[0].dp = (void*) process; + self->simcall.args[1].d = (double) timeout; if (self != simix_global->maestro_process) { XBT_DEBUG("Yield process '%s' on simcall %s (%d)", self->name, SIMIX_simcall_name(self->simcall.call), (int)self->simcall.call); @@ -1077,20 +962,20 @@ inline static void simcall_BODY_process_resume(smx_process_t process) { } else { SIMIX_simcall_handle(&self->simcall, 0); } - + return self->simcall.result.i; } -inline static int simcall_BODY_process_count() { +inline static int simcall_BODY_process_sleep(double duration) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_process_count(&self->simcall); + if (0) simcall_HANDLER_process_sleep(&self->simcall, duration); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ - self->simcall.call = SIMCALL_PROCESS_COUNT; + self->simcall.call = SIMCALL_PROCESS_SLEEP; memset(&self->simcall.result, 0, sizeof(self->simcall.result)); memset(self->simcall.args, 0, sizeof(self->simcall.args)); - + self->simcall.args[0].d = (double) duration; if (self != simix_global->maestro_process) { XBT_DEBUG("Yield process '%s' on simcall %s (%d)", self->name, SIMIX_simcall_name(self->simcall.call), (int)self->simcall.call); @@ -1101,17 +986,21 @@ inline static int simcall_BODY_process_count() { return self->simcall.result.i; } -inline static int simcall_BODY_process_get_PID(smx_process_t process) { +inline static smx_synchro_t simcall_BODY_process_execute(const char* name, double flops_amount, double priority, double bound, unsigned long affinity_mask) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_process_get_PID(&self->simcall, process); + if (0) simcall_HANDLER_process_execute(&self->simcall, name, flops_amount, priority, bound, affinity_mask); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ - self->simcall.call = SIMCALL_PROCESS_GET_PID; + self->simcall.call = SIMCALL_PROCESS_EXECUTE; memset(&self->simcall.result, 0, sizeof(self->simcall.result)); memset(self->simcall.args, 0, sizeof(self->simcall.args)); - self->simcall.args[0].dp = (void*) process; + self->simcall.args[0].cc = (const char*) name; + self->simcall.args[1].d = (double) flops_amount; + self->simcall.args[2].d = (double) priority; + self->simcall.args[3].d = (double) bound; + self->simcall.args[4].ul = (unsigned long) affinity_mask; if (self != simix_global->maestro_process) { XBT_DEBUG("Yield process '%s' on simcall %s (%d)", self->name, SIMIX_simcall_name(self->simcall.call), (int)self->simcall.call); @@ -1119,20 +1008,26 @@ inline static int simcall_BODY_process_get_PID(smx_process_t process) { } else { SIMIX_simcall_handle(&self->simcall, 0); } - return self->simcall.result.i; + return self->simcall.result.dp; } -inline static int simcall_BODY_process_get_PPID(smx_process_t process) { +inline static smx_synchro_t simcall_BODY_process_parallel_execute(const char* name, int host_nb, sg_host_t* host_list, double* flops_amount, double* bytes_amount, double amount, double rate) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_process_get_PPID(&self->simcall, process); + if (0) SIMIX_process_parallel_execute(name, host_nb, host_list, flops_amount, bytes_amount, amount, rate); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ - self->simcall.call = SIMCALL_PROCESS_GET_PPID; + self->simcall.call = SIMCALL_PROCESS_PARALLEL_EXECUTE; memset(&self->simcall.result, 0, sizeof(self->simcall.result)); memset(self->simcall.args, 0, sizeof(self->simcall.args)); - self->simcall.args[0].dp = (void*) process; + self->simcall.args[0].cc = (const char*) name; + self->simcall.args[1].i = (int) host_nb; + self->simcall.args[2].dp = (void*) host_list; + self->simcall.args[3].dp = (void*) flops_amount; + self->simcall.args[4].dp = (void*) bytes_amount; + self->simcall.args[5].d = (double) amount; + self->simcall.args[6].d = (double) rate; if (self != simix_global->maestro_process) { XBT_DEBUG("Yield process '%s' on simcall %s (%d)", self->name, SIMIX_simcall_name(self->simcall.call), (int)self->simcall.call); @@ -1140,20 +1035,20 @@ inline static int simcall_BODY_process_get_PPID(smx_process_t process) { } else { SIMIX_simcall_handle(&self->simcall, 0); } - return self->simcall.result.i; + return self->simcall.result.dp; } -inline static void* simcall_BODY_process_get_data(smx_process_t process) { +inline static void simcall_BODY_process_execution_destroy(smx_synchro_t execution) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_process_get_data(&self->simcall, process); + if (0) SIMIX_process_execution_destroy(execution); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ - self->simcall.call = SIMCALL_PROCESS_GET_DATA; + self->simcall.call = SIMCALL_PROCESS_EXECUTION_DESTROY; memset(&self->simcall.result, 0, sizeof(self->simcall.result)); memset(self->simcall.args, 0, sizeof(self->simcall.args)); - self->simcall.args[0].dp = (void*) process; + self->simcall.args[0].dp = (void*) execution; if (self != simix_global->maestro_process) { XBT_DEBUG("Yield process '%s' on simcall %s (%d)", self->name, SIMIX_simcall_name(self->simcall.call), (int)self->simcall.call); @@ -1161,21 +1056,20 @@ inline static void* simcall_BODY_process_get_data(smx_process_t process) { } else { SIMIX_simcall_handle(&self->simcall, 0); } - return self->simcall.result.dp; + } -inline static void simcall_BODY_process_set_data(smx_process_t process, void* data) { +inline static void simcall_BODY_process_execution_cancel(smx_synchro_t execution) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_process_set_data(&self->simcall, process, data); + if (0) SIMIX_process_execution_cancel(execution); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ - self->simcall.call = SIMCALL_PROCESS_SET_DATA; + self->simcall.call = SIMCALL_PROCESS_EXECUTION_CANCEL; memset(&self->simcall.result, 0, sizeof(self->simcall.result)); memset(self->simcall.args, 0, sizeof(self->simcall.args)); - self->simcall.args[0].dp = (void*) process; - self->simcall.args[1].dp = (void*) data; + self->simcall.args[0].dp = (void*) execution; if (self != simix_global->maestro_process) { XBT_DEBUG("Yield process '%s' on simcall %s (%d)", self->name, SIMIX_simcall_name(self->simcall.call), (int)self->simcall.call); @@ -1186,17 +1080,17 @@ inline static void simcall_BODY_process_set_data(smx_process_t process, void* da } -inline static smx_host_t simcall_BODY_process_get_host(smx_process_t process) { +inline static double simcall_BODY_process_execution_get_remains(smx_synchro_t execution) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_process_get_host(&self->simcall, process); + if (0) SIMIX_process_execution_get_remains(execution); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ - self->simcall.call = SIMCALL_PROCESS_GET_HOST; + self->simcall.call = SIMCALL_PROCESS_EXECUTION_GET_REMAINS; memset(&self->simcall.result, 0, sizeof(self->simcall.result)); memset(self->simcall.args, 0, sizeof(self->simcall.args)); - self->simcall.args[0].dp = (void*) process; + self->simcall.args[0].dp = (void*) execution; if (self != simix_global->maestro_process) { XBT_DEBUG("Yield process '%s' on simcall %s (%d)", self->name, SIMIX_simcall_name(self->simcall.call), (int)self->simcall.call); @@ -1204,20 +1098,20 @@ inline static smx_host_t simcall_BODY_process_get_host(smx_process_t process) { } else { SIMIX_simcall_handle(&self->simcall, 0); } - return self->simcall.result.dp; + return self->simcall.result.d; } -inline static const char* simcall_BODY_process_get_name(smx_process_t process) { +inline static e_smx_state_t simcall_BODY_process_execution_get_state(smx_synchro_t execution) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_process_get_name(&self->simcall, process); + if (0) SIMIX_process_execution_get_state(execution); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ - self->simcall.call = SIMCALL_PROCESS_GET_NAME; + self->simcall.call = SIMCALL_PROCESS_EXECUTION_GET_STATE; memset(&self->simcall.result, 0, sizeof(self->simcall.result)); memset(self->simcall.args, 0, sizeof(self->simcall.args)); - self->simcall.args[0].dp = (void*) process; + self->simcall.args[0].dp = (void*) execution; if (self != simix_global->maestro_process) { XBT_DEBUG("Yield process '%s' on simcall %s (%d)", self->name, SIMIX_simcall_name(self->simcall.call), (int)self->simcall.call); @@ -1225,20 +1119,21 @@ inline static const char* simcall_BODY_process_get_name(smx_process_t process) { } else { SIMIX_simcall_handle(&self->simcall, 0); } - return self->simcall.result.cc; + return self->simcall.result.i; } -inline static int simcall_BODY_process_is_suspended(smx_process_t process) { +inline static void simcall_BODY_process_execution_set_priority(smx_synchro_t execution, double priority) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_process_is_suspended(&self->simcall, process); + if (0) SIMIX_process_execution_set_priority(execution, priority); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ - self->simcall.call = SIMCALL_PROCESS_IS_SUSPENDED; + self->simcall.call = SIMCALL_PROCESS_EXECUTION_SET_PRIORITY; memset(&self->simcall.result, 0, sizeof(self->simcall.result)); memset(self->simcall.args, 0, sizeof(self->simcall.args)); - self->simcall.args[0].dp = (void*) process; + self->simcall.args[0].dp = (void*) execution; + self->simcall.args[1].d = (double) priority; if (self != simix_global->maestro_process) { XBT_DEBUG("Yield process '%s' on simcall %s (%d)", self->name, SIMIX_simcall_name(self->simcall.call), (int)self->simcall.call); @@ -1246,20 +1141,21 @@ inline static int simcall_BODY_process_is_suspended(smx_process_t process) { } else { SIMIX_simcall_handle(&self->simcall, 0); } - return self->simcall.result.i; + } -inline static xbt_dict_t simcall_BODY_process_get_properties(smx_process_t process) { +inline static void simcall_BODY_process_execution_set_bound(smx_synchro_t execution, double bound) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_process_get_properties(&self->simcall, process); + if (0) SIMIX_process_execution_set_bound(execution, bound); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ - self->simcall.call = SIMCALL_PROCESS_GET_PROPERTIES; + self->simcall.call = SIMCALL_PROCESS_EXECUTION_SET_BOUND; memset(&self->simcall.result, 0, sizeof(self->simcall.result)); memset(self->simcall.args, 0, sizeof(self->simcall.args)); - self->simcall.args[0].dp = (void*) process; + self->simcall.args[0].dp = (void*) execution; + self->simcall.args[1].d = (double) bound; if (self != simix_global->maestro_process) { XBT_DEBUG("Yield process '%s' on simcall %s (%d)", self->name, SIMIX_simcall_name(self->simcall.call), (int)self->simcall.call); @@ -1267,21 +1163,22 @@ inline static xbt_dict_t simcall_BODY_process_get_properties(smx_process_t proce } else { SIMIX_simcall_handle(&self->simcall, 0); } - return self->simcall.result.dp; + } -inline static int simcall_BODY_process_join(smx_process_t process, double timeout) { +inline static void simcall_BODY_process_execution_set_affinity(smx_synchro_t execution, sg_host_t ws, unsigned long mask) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_process_join(&self->simcall, process, timeout); + if (0) SIMIX_process_execution_set_affinity(execution, ws, mask); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ - self->simcall.call = SIMCALL_PROCESS_JOIN; + self->simcall.call = SIMCALL_PROCESS_EXECUTION_SET_AFFINITY; memset(&self->simcall.result, 0, sizeof(self->simcall.result)); memset(self->simcall.args, 0, sizeof(self->simcall.args)); - self->simcall.args[0].dp = (void*) process; - self->simcall.args[1].d = (double) timeout; + self->simcall.args[0].dp = (void*) execution; + self->simcall.args[1].dp = (void*) ws; + self->simcall.args[2].ul = (unsigned long) mask; if (self != simix_global->maestro_process) { XBT_DEBUG("Yield process '%s' on simcall %s (%d)", self->name, SIMIX_simcall_name(self->simcall.call), (int)self->simcall.call); @@ -1289,20 +1186,20 @@ inline static int simcall_BODY_process_join(smx_process_t process, double timeou } else { SIMIX_simcall_handle(&self->simcall, 0); } - return self->simcall.result.i; + } -inline static int simcall_BODY_process_sleep(double duration) { +inline static int simcall_BODY_process_execution_wait(smx_synchro_t execution) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_process_sleep(&self->simcall, duration); + if (0) simcall_HANDLER_process_execution_wait(&self->simcall, execution); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ - self->simcall.call = SIMCALL_PROCESS_SLEEP; + self->simcall.call = SIMCALL_PROCESS_EXECUTION_WAIT; memset(&self->simcall.result, 0, sizeof(self->simcall.result)); memset(self->simcall.args, 0, sizeof(self->simcall.args)); - self->simcall.args[0].d = (double) duration; + self->simcall.args[0].dp = (void*) execution; if (self != simix_global->maestro_process) { XBT_DEBUG("Yield process '%s' on simcall %s (%d)", self->name, SIMIX_simcall_name(self->simcall.call), (int)self->simcall.call); @@ -1317,7 +1214,7 @@ inline static void simcall_BODY_process_on_exit(smx_process_t process, int_f_pvo smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_process_on_exit(&self->simcall, process, fun, data); + if (0) SIMIX_process_on_exit(process, fun, data); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ self->simcall.call = SIMCALL_PROCESS_ON_EXIT; @@ -1340,7 +1237,7 @@ inline static void simcall_BODY_process_auto_restart_set(smx_process_t process, smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_process_auto_restart_set(&self->simcall, process, auto_restart); + if (0) SIMIX_process_auto_restart_set(process, auto_restart); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ self->simcall.call = SIMCALL_PROCESS_AUTO_RESTART_SET; @@ -1383,7 +1280,7 @@ inline static smx_rdv_t simcall_BODY_rdv_create(const char* name) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_rdv_create(&self->simcall, name); + if (0) SIMIX_rdv_create(name); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ self->simcall.call = SIMCALL_RDV_CREATE; @@ -1404,7 +1301,7 @@ inline static void simcall_BODY_rdv_destroy(smx_rdv_t rdv) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_rdv_destroy(&self->simcall, rdv); + if (0) SIMIX_rdv_destroy(rdv); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ self->simcall.call = SIMCALL_RDV_DESTROY; @@ -1421,11 +1318,11 @@ inline static void simcall_BODY_rdv_destroy(smx_rdv_t rdv) { } -inline static unsigned int simcall_BODY_rdv_comm_count_by_host(smx_rdv_t rdv, smx_host_t host) { +inline static unsigned int simcall_BODY_rdv_comm_count_by_host(smx_rdv_t rdv, sg_host_t host) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_rdv_comm_count_by_host(&self->simcall, rdv, host); + if (0) SIMIX_rdv_comm_count_by_host(rdv, host); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ self->simcall.call = SIMCALL_RDV_COMM_COUNT_BY_HOST; @@ -1443,11 +1340,11 @@ inline static unsigned int simcall_BODY_rdv_comm_count_by_host(smx_rdv_t rdv, sm return self->simcall.result.ui; } -inline static smx_action_t simcall_BODY_rdv_get_head(smx_rdv_t rdv) { +inline static smx_synchro_t simcall_BODY_rdv_get_head(smx_rdv_t rdv) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_rdv_get_head(&self->simcall, rdv); + if (0) SIMIX_rdv_get_head(rdv); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ self->simcall.call = SIMCALL_RDV_GET_HEAD; @@ -1468,7 +1365,7 @@ inline static void simcall_BODY_rdv_set_receiver(smx_rdv_t rdv, smx_process_t re smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_rdv_set_receiver(&self->simcall, rdv, receiver); + if (0) SIMIX_rdv_set_receiver(rdv, receiver); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ self->simcall.call = SIMCALL_RDV_SET_RECEIVER; @@ -1490,7 +1387,7 @@ inline static smx_process_t simcall_BODY_rdv_get_receiver(smx_rdv_t rdv) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_rdv_get_receiver(&self->simcall, rdv); + if (0) SIMIX_rdv_get_receiver(rdv); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ self->simcall.call = SIMCALL_RDV_GET_RECEIVER; @@ -1507,7 +1404,7 @@ inline static smx_process_t simcall_BODY_rdv_get_receiver(smx_rdv_t rdv) { return self->simcall.result.dp; } -inline static smx_action_t simcall_BODY_comm_iprobe(smx_rdv_t rdv, int type, int src, int tag, simix_match_func_t match_fun, void* data) { +inline static smx_synchro_t simcall_BODY_comm_iprobe(smx_rdv_t rdv, int type, int src, int tag, simix_match_func_t match_fun, void* data) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ @@ -1533,17 +1430,17 @@ inline static smx_action_t simcall_BODY_comm_iprobe(smx_rdv_t rdv, int type, int return self->simcall.result.dp; } -inline static void simcall_BODY_comm_send(smx_process_t src, smx_rdv_t rdv, double task_size, double rate, void* src_buff, size_t src_buff_size, simix_match_func_t match_fun, simix_copy_data_func_t copy_data_fun, void* data, double timeout) { +inline static void simcall_BODY_comm_send(smx_process_t sender, smx_rdv_t rdv, double task_size, double rate, void* src_buff, size_t src_buff_size, simix_match_func_t match_fun, simix_copy_data_func_t copy_data_fun, void* data, double timeout) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_comm_send(&self->simcall, src, rdv, task_size, rate, src_buff, src_buff_size, match_fun, copy_data_fun, data, timeout); + if (0) simcall_HANDLER_comm_send(&self->simcall, sender, rdv, task_size, rate, src_buff, src_buff_size, match_fun, copy_data_fun, data, timeout); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ self->simcall.call = SIMCALL_COMM_SEND; memset(&self->simcall.result, 0, sizeof(self->simcall.result)); memset(self->simcall.args, 0, sizeof(self->simcall.args)); - self->simcall.args[0].dp = (void*) src; + self->simcall.args[0].dp = (void*) sender; self->simcall.args[1].dp = (void*) rdv; self->simcall.args[2].d = (double) task_size; self->simcall.args[3].d = (double) rate; @@ -1563,17 +1460,17 @@ inline static void simcall_BODY_comm_send(smx_process_t src, smx_rdv_t rdv, doub } -inline static smx_action_t simcall_BODY_comm_isend(smx_process_t src, smx_rdv_t rdv, double task_size, double rate, void* src_buff, size_t src_buff_size, simix_match_func_t match_fun, simix_clean_func_t clean_fun, simix_copy_data_func_t copy_data_fun, void* data, int detached) { +inline static smx_synchro_t simcall_BODY_comm_isend(smx_process_t sender, smx_rdv_t rdv, double task_size, double rate, void* src_buff, size_t src_buff_size, simix_match_func_t match_fun, simix_clean_func_t clean_fun, simix_copy_data_func_t copy_data_fun, void* data, int detached) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_comm_isend(&self->simcall, src, rdv, task_size, rate, src_buff, src_buff_size, match_fun, clean_fun, copy_data_fun, data, detached); + if (0) simcall_HANDLER_comm_isend(&self->simcall, sender, rdv, task_size, rate, src_buff, src_buff_size, match_fun, clean_fun, copy_data_fun, data, detached); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ self->simcall.call = SIMCALL_COMM_ISEND; memset(&self->simcall.result, 0, sizeof(self->simcall.result)); memset(self->simcall.args, 0, sizeof(self->simcall.args)); - self->simcall.args[0].dp = (void*) src; + self->simcall.args[0].dp = (void*) sender; self->simcall.args[1].dp = (void*) rdv; self->simcall.args[2].d = (double) task_size; self->simcall.args[3].d = (double) rate; @@ -1594,24 +1491,25 @@ inline static smx_action_t simcall_BODY_comm_isend(smx_process_t src, smx_rdv_t return self->simcall.result.dp; } -inline static void simcall_BODY_comm_recv(smx_rdv_t rdv, void* dst_buff, size_t* dst_buff_size, simix_match_func_t match_fun, simix_copy_data_func_t copy_data_fun, void* data, double timeout, double rate) { +inline static void simcall_BODY_comm_recv(smx_process_t receiver, smx_rdv_t rdv, void* dst_buff, size_t* dst_buff_size, simix_match_func_t match_fun, simix_copy_data_func_t copy_data_fun, void* data, double timeout, double rate) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_comm_recv(&self->simcall, rdv, dst_buff, dst_buff_size, match_fun, copy_data_fun, data, timeout, rate); + if (0) simcall_HANDLER_comm_recv(&self->simcall, receiver, rdv, dst_buff, dst_buff_size, match_fun, copy_data_fun, data, timeout, rate); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ self->simcall.call = SIMCALL_COMM_RECV; memset(&self->simcall.result, 0, sizeof(self->simcall.result)); memset(self->simcall.args, 0, sizeof(self->simcall.args)); - self->simcall.args[0].dp = (void*) rdv; - self->simcall.args[1].dp = (void*) dst_buff; - self->simcall.args[2].dp = (void*) dst_buff_size; - self->simcall.args[3].fp = (FPtr) match_fun; - self->simcall.args[4].fp = (FPtr) copy_data_fun; - self->simcall.args[5].dp = (void*) data; - self->simcall.args[6].d = (double) timeout; - self->simcall.args[7].d = (double) rate; + self->simcall.args[0].dp = (void*) receiver; + self->simcall.args[1].dp = (void*) rdv; + self->simcall.args[2].dp = (void*) dst_buff; + self->simcall.args[3].dp = (void*) dst_buff_size; + self->simcall.args[4].fp = (FPtr) match_fun; + self->simcall.args[5].fp = (FPtr) copy_data_fun; + self->simcall.args[6].dp = (void*) data; + self->simcall.args[7].d = (double) timeout; + self->simcall.args[8].d = (double) rate; if (self != simix_global->maestro_process) { XBT_DEBUG("Yield process '%s' on simcall %s (%d)", self->name, SIMIX_simcall_name(self->simcall.call), (int)self->simcall.call); @@ -1622,23 +1520,24 @@ inline static void simcall_BODY_comm_recv(smx_rdv_t rdv, void* dst_buff, size_t* } -inline static smx_action_t simcall_BODY_comm_irecv(smx_rdv_t rdv, void* dst_buff, size_t* dst_buff_size, simix_match_func_t match_fun, simix_copy_data_func_t copy_data_fun, void* data, double rate) { +inline static smx_synchro_t simcall_BODY_comm_irecv(smx_process_t receiver, smx_rdv_t rdv, void* dst_buff, size_t* dst_buff_size, simix_match_func_t match_fun, simix_copy_data_func_t copy_data_fun, void* data, double rate) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_comm_irecv(&self->simcall, rdv, dst_buff, dst_buff_size, match_fun, copy_data_fun, data, rate); + if (0) simcall_HANDLER_comm_irecv(&self->simcall, receiver, rdv, dst_buff, dst_buff_size, match_fun, copy_data_fun, data, rate); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ self->simcall.call = SIMCALL_COMM_IRECV; memset(&self->simcall.result, 0, sizeof(self->simcall.result)); memset(self->simcall.args, 0, sizeof(self->simcall.args)); - self->simcall.args[0].dp = (void*) rdv; - self->simcall.args[1].dp = (void*) dst_buff; - self->simcall.args[2].dp = (void*) dst_buff_size; - self->simcall.args[3].fp = (FPtr) match_fun; - self->simcall.args[4].fp = (FPtr) copy_data_fun; - self->simcall.args[5].dp = (void*) data; - self->simcall.args[6].d = (double) rate; + self->simcall.args[0].dp = (void*) receiver; + self->simcall.args[1].dp = (void*) rdv; + self->simcall.args[2].dp = (void*) dst_buff; + self->simcall.args[3].dp = (void*) dst_buff_size; + self->simcall.args[4].fp = (FPtr) match_fun; + self->simcall.args[5].fp = (FPtr) copy_data_fun; + self->simcall.args[6].dp = (void*) data; + self->simcall.args[7].d = (double) rate; if (self != simix_global->maestro_process) { XBT_DEBUG("Yield process '%s' on simcall %s (%d)", self->name, SIMIX_simcall_name(self->simcall.call), (int)self->simcall.call); @@ -1649,11 +1548,11 @@ inline static smx_action_t simcall_BODY_comm_irecv(smx_rdv_t rdv, void* dst_buff return self->simcall.result.dp; } -inline static void simcall_BODY_comm_cancel(smx_action_t comm) { +inline static void simcall_BODY_comm_cancel(smx_synchro_t comm) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_comm_cancel(&self->simcall, comm); + if (0) SIMIX_comm_cancel(comm); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ self->simcall.call = SIMCALL_COMM_CANCEL; @@ -1691,7 +1590,7 @@ inline static int simcall_BODY_comm_waitany(xbt_dynar_t comms) { return self->simcall.result.i; } -inline static void simcall_BODY_comm_wait(smx_action_t comm, double timeout) { +inline static void simcall_BODY_comm_wait(smx_synchro_t comm, double timeout) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ @@ -1713,7 +1612,7 @@ inline static void simcall_BODY_comm_wait(smx_action_t comm, double timeout) { } -inline static int simcall_BODY_comm_test(smx_action_t comm) { +inline static int simcall_BODY_comm_test(smx_synchro_t comm) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ @@ -1755,11 +1654,11 @@ inline static int simcall_BODY_comm_testany(xbt_dynar_t comms) { return self->simcall.result.i; } -inline static double simcall_BODY_comm_get_remains(smx_action_t comm) { +inline static double simcall_BODY_comm_get_remains(smx_synchro_t comm) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_comm_get_remains(&self->simcall, comm); + if (0) SIMIX_comm_get_remains(comm); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ self->simcall.call = SIMCALL_COMM_GET_REMAINS; @@ -1776,11 +1675,11 @@ inline static double simcall_BODY_comm_get_remains(smx_action_t comm) { return self->simcall.result.d; } -inline static int simcall_BODY_comm_get_state(smx_action_t comm) { +inline static e_smx_state_t simcall_BODY_comm_get_state(smx_synchro_t comm) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_comm_get_state(&self->simcall, comm); + if (0) SIMIX_comm_get_state(comm); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ self->simcall.call = SIMCALL_COMM_GET_STATE; @@ -1797,11 +1696,11 @@ inline static int simcall_BODY_comm_get_state(smx_action_t comm) { return self->simcall.result.i; } -inline static void* simcall_BODY_comm_get_src_data(smx_action_t comm) { +inline static void* simcall_BODY_comm_get_src_data(smx_synchro_t comm) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_comm_get_src_data(&self->simcall, comm); + if (0) SIMIX_comm_get_src_data(comm); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ self->simcall.call = SIMCALL_COMM_GET_SRC_DATA; @@ -1818,11 +1717,11 @@ inline static void* simcall_BODY_comm_get_src_data(smx_action_t comm) { return self->simcall.result.dp; } -inline static void* simcall_BODY_comm_get_dst_data(smx_action_t comm) { +inline static void* simcall_BODY_comm_get_dst_data(smx_synchro_t comm) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_comm_get_dst_data(&self->simcall, comm); + if (0) SIMIX_comm_get_dst_data(comm); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ self->simcall.call = SIMCALL_COMM_GET_DST_DATA; @@ -1839,11 +1738,11 @@ inline static void* simcall_BODY_comm_get_dst_data(smx_action_t comm) { return self->simcall.result.dp; } -inline static smx_process_t simcall_BODY_comm_get_src_proc(smx_action_t comm) { +inline static smx_process_t simcall_BODY_comm_get_src_proc(smx_synchro_t comm) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_comm_get_src_proc(&self->simcall, comm); + if (0) SIMIX_comm_get_src_proc(comm); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ self->simcall.call = SIMCALL_COMM_GET_SRC_PROC; @@ -1860,11 +1759,11 @@ inline static smx_process_t simcall_BODY_comm_get_src_proc(smx_action_t comm) { return self->simcall.result.dp; } -inline static smx_process_t simcall_BODY_comm_get_dst_proc(smx_action_t comm) { +inline static smx_process_t simcall_BODY_comm_get_dst_proc(smx_synchro_t comm) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_comm_get_dst_proc(&self->simcall, comm); + if (0) SIMIX_comm_get_dst_proc(comm); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ self->simcall.call = SIMCALL_COMM_GET_DST_PROC; @@ -1906,7 +1805,7 @@ inline static void simcall_BODY_mutex_destroy(smx_mutex_t mutex) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_mutex_destroy(&self->simcall, mutex); + if (0) SIMIX_mutex_destroy(mutex); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ self->simcall.call = SIMCALL_MUTEX_DESTROY; @@ -1990,7 +1889,7 @@ inline static smx_cond_t simcall_BODY_cond_init() { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_cond_init(&self->simcall); + if (0) SIMIX_cond_init(); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ self->simcall.call = SIMCALL_COND_INIT; @@ -2011,7 +1910,7 @@ inline static void simcall_BODY_cond_destroy(smx_cond_t cond) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_cond_destroy(&self->simcall, cond); + if (0) SIMIX_cond_destroy(cond); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ self->simcall.call = SIMCALL_COND_DESTROY; @@ -2032,7 +1931,7 @@ inline static void simcall_BODY_cond_signal(smx_cond_t cond) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_cond_signal(&self->simcall, cond); + if (0) SIMIX_cond_signal(cond); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ self->simcall.call = SIMCALL_COND_SIGNAL; @@ -2098,7 +1997,7 @@ inline static void simcall_BODY_cond_broadcast(smx_cond_t cond) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_cond_broadcast(&self->simcall, cond); + if (0) SIMIX_cond_broadcast(cond); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ self->simcall.call = SIMCALL_COND_BROADCAST; @@ -2115,17 +2014,17 @@ inline static void simcall_BODY_cond_broadcast(smx_cond_t cond) { } -inline static smx_sem_t simcall_BODY_sem_init(int capacity) { +inline static smx_sem_t simcall_BODY_sem_init(unsigned int capacity) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_sem_init(&self->simcall, capacity); + if (0) SIMIX_sem_init(capacity); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ self->simcall.call = SIMCALL_SEM_INIT; memset(&self->simcall.result, 0, sizeof(self->simcall.result)); memset(self->simcall.args, 0, sizeof(self->simcall.args)); - self->simcall.args[0].i = (int) capacity; + self->simcall.args[0].ui = (unsigned int) capacity; if (self != simix_global->maestro_process) { XBT_DEBUG("Yield process '%s' on simcall %s (%d)", self->name, SIMIX_simcall_name(self->simcall.call), (int)self->simcall.call); @@ -2140,7 +2039,7 @@ inline static void simcall_BODY_sem_destroy(smx_sem_t sem) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_sem_destroy(&self->simcall, sem); + if (0) SIMIX_sem_destroy(sem); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ self->simcall.call = SIMCALL_SEM_DESTROY; @@ -2263,7 +2162,7 @@ inline static int simcall_BODY_sem_get_capacity(smx_sem_t sem) { return self->simcall.result.i; } -inline static sg_size_t simcall_BODY_file_read(smx_file_t fd, sg_size_t size, smx_host_t host) { +inline static sg_size_t simcall_BODY_file_read(smx_file_t fd, sg_size_t size, sg_host_t host) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ @@ -2286,7 +2185,7 @@ inline static sg_size_t simcall_BODY_file_read(smx_file_t fd, sg_size_t size, sm return self->simcall.result.sgsz; } -inline static sg_size_t simcall_BODY_file_write(smx_file_t fd, sg_size_t size, smx_host_t host) { +inline static sg_size_t simcall_BODY_file_write(smx_file_t fd, sg_size_t size, sg_host_t host) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ @@ -2309,7 +2208,7 @@ inline static sg_size_t simcall_BODY_file_write(smx_file_t fd, sg_size_t size, s return self->simcall.result.sgsz; } -inline static smx_file_t simcall_BODY_file_open(const char* fullpath, smx_host_t host) { +inline static smx_file_t simcall_BODY_file_open(const char* fullpath, sg_host_t host) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ @@ -2331,7 +2230,7 @@ inline static smx_file_t simcall_BODY_file_open(const char* fullpath, smx_host_t return self->simcall.result.dp; } -inline static int simcall_BODY_file_close(smx_file_t fd, smx_host_t host) { +inline static int simcall_BODY_file_close(smx_file_t fd, sg_host_t host) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ @@ -2353,11 +2252,11 @@ inline static int simcall_BODY_file_close(smx_file_t fd, smx_host_t host) { return self->simcall.result.i; } -inline static int simcall_BODY_file_unlink(smx_file_t fd, smx_host_t host) { +inline static int simcall_BODY_file_unlink(smx_file_t fd, sg_host_t host) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_file_unlink(&self->simcall, fd, host); + if (0) SIMIX_file_unlink(fd, host); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ self->simcall.call = SIMCALL_FILE_UNLINK; @@ -2529,7 +2428,7 @@ inline static xbt_dict_t simcall_BODY_storage_get_properties(smx_storage_t stora smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_storage_get_properties(&self->simcall, storage); + if (0) SIMIX_storage_get_properties(storage); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ self->simcall.call = SIMCALL_STORAGE_GET_PROPERTIES; @@ -2550,7 +2449,7 @@ inline static xbt_dict_t simcall_BODY_storage_get_content(smx_storage_t storage) smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_storage_get_content(&self->simcall, storage); + if (0) SIMIX_storage_get_content(storage); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ self->simcall.call = SIMCALL_STORAGE_GET_CONTENT; @@ -2587,19 +2486,19 @@ inline static xbt_dict_t simcall_BODY_asr_get_properties(const char* name) { } return self->simcall.result.dp; } -#ifdef HAVE_LATENCY_BOUND_TRACKING -inline static int simcall_BODY_comm_is_latency_bounded(smx_action_t comm) { +inline static int simcall_BODY_mc_random(int min, int max) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_comm_is_latency_bounded(&self->simcall, comm); + if (0) simcall_HANDLER_mc_random(&self->simcall, min, max); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ - self->simcall.call = SIMCALL_COMM_IS_LATENCY_BOUNDED; + self->simcall.call = SIMCALL_MC_RANDOM; memset(&self->simcall.result, 0, sizeof(self->simcall.result)); memset(self->simcall.args, 0, sizeof(self->simcall.args)); - self->simcall.args[0].dp = (void*) comm; + self->simcall.args[0].i = (int) min; + self->simcall.args[1].i = (int) max; if (self != simix_global->maestro_process) { XBT_DEBUG("Yield process '%s' on simcall %s (%d)", self->name, SIMIX_simcall_name(self->simcall.call), (int)self->simcall.call); @@ -2609,21 +2508,18 @@ inline static int simcall_BODY_comm_is_latency_bounded(smx_action_t comm) { } return self->simcall.result.i; } -#endif - -#ifdef HAVE_TRACING -inline static void simcall_BODY_set_category(smx_action_t action, const char* category) { +inline static void simcall_BODY_set_category(smx_synchro_t synchro, const char* category) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_set_category(&self->simcall, action, category); + if (0) SIMIX_set_category(synchro, category); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ self->simcall.call = SIMCALL_SET_CATEGORY; memset(&self->simcall.result, 0, sizeof(self->simcall.result)); memset(self->simcall.args, 0, sizeof(self->simcall.args)); - self->simcall.args[0].dp = (void*) action; + self->simcall.args[0].dp = (void*) synchro; self->simcall.args[1].cc = (const char*) category; if (self != simix_global->maestro_process) { XBT_DEBUG("Yield process '%s' on simcall %s (%d)", self->name, @@ -2634,21 +2530,19 @@ inline static void simcall_BODY_set_category(smx_action_t action, const char* ca } } -#endif - -#ifdef HAVE_MC +#ifdef HAVE_LATENCY_BOUND_TRACKING -inline static void* simcall_BODY_mc_snapshot() { +inline static int simcall_BODY_comm_is_latency_bounded(smx_synchro_t comm) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_mc_snapshot(&self->simcall); + if (0) SIMIX_comm_is_latency_bounded(comm); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ - self->simcall.call = SIMCALL_MC_SNAPSHOT; + self->simcall.call = SIMCALL_COMM_IS_LATENCY_BOUNDED; memset(&self->simcall.result, 0, sizeof(self->simcall.result)); memset(self->simcall.args, 0, sizeof(self->simcall.args)); - + self->simcall.args[0].dp = (void*) comm; if (self != simix_global->maestro_process) { XBT_DEBUG("Yield process '%s' on simcall %s (%d)", self->name, SIMIX_simcall_name(self->simcall.call), (int)self->simcall.call); @@ -2656,21 +2550,23 @@ inline static void* simcall_BODY_mc_snapshot() { } else { SIMIX_simcall_handle(&self->simcall, 0); } - return self->simcall.result.dp; + return self->simcall.result.i; } +#endif + +#ifdef HAVE_MC -inline static int simcall_BODY_mc_compare_snapshots(void* s1, void* s2) { +inline static mc_snapshot_t simcall_BODY_mc_snapshot() { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_mc_compare_snapshots(&self->simcall, s1, s2); + if (0) simcall_HANDLER_mc_snapshot(&self->simcall); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ - self->simcall.call = SIMCALL_MC_COMPARE_SNAPSHOTS; + self->simcall.call = SIMCALL_MC_SNAPSHOT; memset(&self->simcall.result, 0, sizeof(self->simcall.result)); memset(self->simcall.args, 0, sizeof(self->simcall.args)); - self->simcall.args[0].dp = (void*) s1; - self->simcall.args[1].dp = (void*) s2; + if (self != simix_global->maestro_process) { XBT_DEBUG("Yield process '%s' on simcall %s (%d)", self->name, SIMIX_simcall_name(self->simcall.call), (int)self->simcall.call); @@ -2678,21 +2574,21 @@ inline static int simcall_BODY_mc_compare_snapshots(void* s1, void* s2) { } else { SIMIX_simcall_handle(&self->simcall, 0); } - return self->simcall.result.i; + return self->simcall.result.dp; } -inline static int simcall_BODY_mc_random(int min, int max) { +inline static int simcall_BODY_mc_compare_snapshots(mc_snapshot_t s1, mc_snapshot_t s2) { smx_process_t self = SIMIX_process_self(); /* Go to that function to follow the code flow through the simcall barrier */ - if (0) simcall_HANDLER_mc_random(&self->simcall, min, max); + if (0) simcall_HANDLER_mc_compare_snapshots(&self->simcall, s1, s2); /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ - self->simcall.call = SIMCALL_MC_RANDOM; + self->simcall.call = SIMCALL_MC_COMPARE_SNAPSHOTS; memset(&self->simcall.result, 0, sizeof(self->simcall.result)); memset(self->simcall.args, 0, sizeof(self->simcall.args)); - self->simcall.args[0].i = (int) min; - self->simcall.args[1].i = (int) max; + self->simcall.args[0].dp = (void*) s1; + self->simcall.args[1].dp = (void*) s2; if (self != simix_global->maestro_process) { XBT_DEBUG("Yield process '%s' on simcall %s (%d)", self->name, SIMIX_simcall_name(self->simcall.call), (int)self->simcall.call);