X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/f06041cf2c450457a0b47a49b66b19cb9133c18e..7ad85b03568dabade546f7948aaf7279059e9269:/src/simix/popping_bodies.c diff --git a/src/simix/popping_bodies.c b/src/simix/popping_bodies.c index 0b413a2c7b..ef7460eaf6 100644 --- a/src/simix/popping_bodies.c +++ b/src/simix/popping_bodies.c @@ -14,52 +14,10 @@ */ #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) { - smx_process_t self = SIMIX_process_self(); - - /* Go to that function to follow the code flow through the simcall barrier */ - if (0) SIMIX_host_get_by_name(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) SIMIX_host_get_name(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) { +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 */ @@ -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,7 +59,7 @@ 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 */ @@ -122,28 +80,7 @@ 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) { - smx_process_t self = SIMIX_process_self(); - - /* Go to that function to follow the code flow through the simcall barrier */ - if (0) SIMIX_host_get_core(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) { +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 */ @@ -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) SIMIX_host_get_speed(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) SIMIX_host_get_available_speed(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) { - smx_process_t self = SIMIX_process_self(); - - /* Go to that function to follow the code flow through the simcall barrier */ - if (0) SIMIX_host_get_state(host); - /* 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) { +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) SIMIX_host_get_current_power_peak(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_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) SIMIX_host_get_power_peak_at(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) SIMIX_host_get_nb_pstates(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) SIMIX_host_set_power_peak_at(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) SIMIX_host_get_consumed_energy(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_synchro_t simcall_BODY_host_execute(const char* name, smx_host_t host, double flops_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) SIMIX_host_execute(name, host, flops_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) flops_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_synchro_t simcall_BODY_host_execute(const char* name, smx_host return self->simcall.result.dp; } -inline static smx_synchro_t simcall_BODY_host_parallel_execute(const char* name, int host_nb, smx_host_t* host_list, double* flops_amount, double* bytes_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) SIMIX_host_parallel_execute(name, host_nb, host_list, flops_amount, bytes_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*) flops_amount; - self->simcall.args[4].dp = (void*) bytes_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_synchro_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_synchro_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) SIMIX_host_execution_destroy(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_synchro_t execution) } -inline static void simcall_BODY_host_execution_cancel(smx_synchro_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) SIMIX_host_execution_cancel(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_synchro_t execution) { } else { SIMIX_simcall_handle(&self->simcall, 0); } - + return self->simcall.result.dp; } -inline static double simcall_BODY_host_execution_get_remains(smx_synchro_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) SIMIX_host_execution_get_remains(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_synchro_t execu } else { SIMIX_simcall_handle(&self->simcall, 0); } - return self->simcall.result.d; + } -inline static e_smx_state_t simcall_BODY_host_execution_get_state(smx_synchro_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) SIMIX_host_execution_get_state(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 e_smx_state_t simcall_BODY_host_execution_get_state(smx_synchro_t return self->simcall.result.i; } -inline static void simcall_BODY_host_execution_set_priority(smx_synchro_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) SIMIX_host_execution_set_priority(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_synchro_t execut } -inline static void simcall_BODY_host_execution_set_bound(smx_synchro_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) SIMIX_host_execution_set_bound(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_synchro_t execution } else { SIMIX_simcall_handle(&self->simcall, 0); } - + return self->simcall.result.dp; } -inline static void simcall_BODY_host_execution_set_affinity(smx_synchro_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) SIMIX_host_execution_set_affinity(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_synchro_t execut } -inline static int simcall_BODY_host_execution_wait(smx_synchro_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_synchro_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) SIMIX_host_get_mounted_storage_list(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) SIMIX_host_get_attached_storage_list(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) SIMIX_host_get_params(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) SIMIX_host_set_params(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 smx_host_t 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) SIMIX_vm_create(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 smx_host_t simcall_BODY_vm_create(const char* name, smx_host_t ind } 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) SIMIX_vm_start(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) SIMIX_vm_get_state(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) SIMIX_vm_migrate(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) SIMIX_vm_get_pm(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) SIMIX_vm_set_bound(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) SIMIX_vm_set_affinity(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) SIMIX_vm_destroy(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) SIMIX_process_cleanup(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) SIMIX_process_count(); + 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) SIMIX_process_get_PID(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) SIMIX_process_get_PPID(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) SIMIX_process_get_data(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) SIMIX_process_set_data(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) SIMIX_process_get_host(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) SIMIX_process_get_name(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) SIMIX_process_is_suspended(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) SIMIX_process_get_properties(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); @@ -1421,7 +1318,7 @@ 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 */ @@ -1533,17 +1430,17 @@ inline static smx_synchro_t simcall_BODY_comm_iprobe(smx_rdv_t rdv, int type, in 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_synchro_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_synchro_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_synchro_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); @@ -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,7 +2252,7 @@ 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 */