X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/7d4a9a7e27436e76b10c1b1f9ce794655dc070a2..669819cc2941fc50b392676c61c4d54864502e45:/src/surf/network.c diff --git a/src/surf/network.c b/src/surf/network.c index 4b6d9259c1..21a86ea04b 100644 --- a/src/surf/network.c +++ b/src/surf/network.c @@ -6,7 +6,7 @@ * highly dependent on the maxmin lmm module. */ -/* Copyright (c) 2009, 2010, 2011. The SimGrid Team. +/* Copyright (c) 2004-2013. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it @@ -81,7 +81,8 @@ static double constant_bandwidth_constraint(double rate, double bound, static int factor_cmp(const void *pa, const void *pb) { - return (((s_smpi_factor_t*)pa)->factor > ((s_smpi_factor_t*)pb)->factor); + return (((s_smpi_factor_t*)pa)->factor > ((s_smpi_factor_t*)pb)->factor) ? 1 : + (((s_smpi_factor_t*)pa)->factor < ((s_smpi_factor_t*)pb)->factor) ? -1 : 0; } @@ -126,12 +127,12 @@ static double smpi_bandwidth_factor(double size) double current=1.0; xbt_dynar_foreach(smpi_bw_factor, iter, fact) { if (size <= fact.factor) { - XBT_DEBUG("%lf <= %ld return %f", size, fact.factor, current); + XBT_DEBUG("%f <= %ld return %f", size, fact.factor, current); return current; }else current=fact.value; } - XBT_DEBUG("%lf > %ld return %f", size, fact.factor, current); + XBT_DEBUG("%f > %ld return %f", size, fact.factor, current); return current; } @@ -147,12 +148,12 @@ static double smpi_latency_factor(double size) double current=1.0; xbt_dynar_foreach(smpi_lat_factor, iter, fact) { if (size <= fact.factor) { - XBT_DEBUG("%lf <= %ld return %f", size, fact.factor, current); + XBT_DEBUG("%f <= %ld return %f", size, fact.factor, current); return current; }else current=fact.value; } - XBT_DEBUG("%lf > %ld return %f", size, fact.factor, current); + XBT_DEBUG("%f > %ld return %f", size, fact.factor, current); return current; } @@ -379,8 +380,8 @@ static void net_update_resource_state(void *id, double value, double date) { link_CM02_t nw_link = id; - /* printf("[" "%lg" "] Asking to update network card \"%s\" with value " */ - /* "%lg" " for event %p\n", surf_get_clock(), nw_link->name, */ + /* printf("[" "%g" "] Asking to update network card \"%s\" with value " */ + /* "%g" " for event %p\n", surf_get_clock(), nw_link->name, */ /* value, event_type); */ if (event_type == nw_link->lmm_resource.power.event) { @@ -665,10 +666,9 @@ static void net_finalize(void) surf_model_exit(surf_network_model); surf_network_model = NULL; - if (smpi_bw_factor) - xbt_dynar_free(&smpi_bw_factor); - if (smpi_lat_factor) - xbt_dynar_free(&smpi_lat_factor); + xbt_dict_free(&gap_lookup); + xbt_dynar_free(&smpi_bw_factor); + xbt_dynar_free(&smpi_lat_factor); } static void smpi_gap_append(double size, const link_CM02_t link, @@ -681,7 +681,7 @@ static void smpi_gap_append(double size, const link_CM02_t link, if (sg_sender_gap > 0.0) { if (!gap_lookup) { - gap_lookup = xbt_dict_new(); + gap_lookup = xbt_dict_new_homogeneous(NULL); } fifo = (xbt_fifo_t) xbt_dict_get_or_null(gap_lookup, src); action->sender.gap = 0.0; @@ -737,7 +737,7 @@ static void set_update_mechanism(void) { char *optim = xbt_cfg_get_string(_sg_cfg_set, "network/optim"); int select = - xbt_cfg_get_int(_sg_cfg_set, "network/maxmin_selective_update"); + xbt_cfg_get_boolean(_sg_cfg_set, "network/maxmin_selective_update"); if (!strcmp(optim, "Full")) { surf_network_model->model_private->update_mechanism = UM_FULL; @@ -806,8 +806,6 @@ static void surf_network_model_init_internal(void) net_get_link_latency; surf_network_model->extension.network.link_shared = net_link_shared; surf_network_model->extension.network.add_traces = net_add_traces; - surf_network_model->extension.network.create_resource = - net_create_resource; if (!surf_network_model->model_private->maxmin_system) surf_network_model->model_private->maxmin_system = lmm_system_new(surf_network_model->model_private->selective_update);