X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/5e2dd3ecf166c2d82974beb220aeb8dd4200f105..705cfaaca24189a574c15159cbdd919574cae96e:/src/surf/workstation.c diff --git a/src/surf/workstation.c b/src/surf/workstation.c index b104f008d9..ba94803a1b 100644 --- a/src/surf/workstation.c +++ b/src/surf/workstation.c @@ -12,7 +12,6 @@ typedef struct workstation_CLM03 { s_surf_resource_t generic_resource; /* Must remain first to add this to a trace */ void *cpu; - int id; } s_workstation_CLM03_t, *workstation_CLM03_t; XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_workstation, surf, @@ -21,14 +20,13 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_workstation, surf, surf_model_t surf_workstation_model = NULL; static workstation_CLM03_t workstation_new(const char *name, - void *cpu, int id) + void *cpu) { workstation_CLM03_t workstation = xbt_new0(s_workstation_CLM03_t, 1); workstation->generic_resource.model = surf_workstation_model; workstation->generic_resource.name = xbt_strdup(name); workstation->cpu = cpu; - workstation->id = id; xbt_dict_set(surf_model_resource_set(surf_workstation_model), name, workstation, surf_resource_free); @@ -43,12 +41,7 @@ void create_workstations(void) void *cpu = NULL; xbt_dict_foreach(surf_model_resource_set(surf_cpu_model), cursor, name, cpu) { - int *id = NULL; -// COMMENTED BY DAVID -// if (used_routing && used_routing->host_id) -// id = xbt_dict_get_or_null(used_routing->host_id,name); - - workstation_new(name, cpu, id ? *id : 0); + workstation_new(name, cpu); } } @@ -185,6 +178,7 @@ static void ws_action_set_priority(surf_action_t action, double priority) DIE_IMPOSSIBLE; } +#ifdef HAVE_LATENCY_BOUND_TRACKING static int ws_get_latency_limited(surf_action_t action) { if (action->model_type == surf_network_model) @@ -192,6 +186,7 @@ static int ws_get_latency_limited(surf_action_t action) INFO0("You tried to ask if a non network action is limited by latency, aborting..."); DIE_IMPOSSIBLE; } +#endif static double ws_action_get_remains(surf_action_t action) { @@ -210,7 +205,7 @@ static surf_action_t ws_communicate(void *workstation_src, workstation_CLM03_t dst = (workstation_CLM03_t) workstation_dst; return surf_network_model->extension.network. communicate(surf_resource_name(src->cpu), surf_resource_name(dst->cpu), - src->id, dst->id, size, rate); + size, rate); } static e_surf_resource_state_t ws_get_state(void *workstation) @@ -245,10 +240,8 @@ static surf_action_t ws_execute_parallel_task(int workstation_nb, /* returns an array of network_link_CM02_t */ static xbt_dynar_t ws_get_route(void *src, void *dst) { - workstation_CLM03_t workstation_src = (workstation_CLM03_t) src; - workstation_CLM03_t workstation_dst = (workstation_CLM03_t) dst; - return surf_network_model->extension.network.get_route(workstation_src->id, - workstation_dst->id); + return surf_network_model->extension.network.get_route(surf_resource_name(src), + surf_resource_name(src)); } static double ws_get_link_bandwidth(const void *link) @@ -300,7 +293,9 @@ static void surf_workstation_model_init_internal(void) surf_workstation_model->set_max_duration = ws_action_set_max_duration; surf_workstation_model->set_priority = ws_action_set_priority; surf_workstation_model->get_remains = ws_action_get_remains; +#ifdef HAVE_LATENCY_BOUND_TRACKING surf_workstation_model->get_latency_limited = ws_get_latency_limited; +#endif surf_workstation_model->extension.workstation.execute = ws_execute; surf_workstation_model->extension.workstation.sleep = ws_action_sleep;