A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
| inline |
side by side
[trace] Cache config options.
[simgrid.git]
/
src
/
surf
/
surf.c
diff --git
a/src/surf/surf.c
b/src/surf/surf.c
index
0ef93c9
..
bd46602
100644
(file)
--- a/
src/surf/surf.c
+++ b/
src/surf/surf.c
@@
-131,6
+131,11
@@
s_surf_model_description_t surf_network_model_description[] = {
{"GTNets",
"Network Pseudo-model using the GTNets simulator instead of an analytic model",
NULL, surf_network_model_init_GTNETS},
+#endif
+#ifdef HAVE_NS3
+ {"NS3",
+ "TODO",
+ NULL, surf_network_model_init_NS3},
#endif
{"Reno",
"Model using lagrange_solve instead of lmm_solve (experts only)", NULL,
@@
-203,8
+208,7
@@
int find_model_description(s_surf_model_description_t * table,
strcat(name_list, ", ");
strcat(name_list, table[i].name);
}
- xbt_assert2(0, "Model '%s' is invalid! Valid models are: %s.", name,
- name_list);
+ xbt_die("Model '%s' is invalid! Valid models are: %s.", name, name_list);
return -1;
}
@@
-218,7
+222,7
@@
double generic_maxmin_share_resources(xbt_swag_t running_actions,
double value = -1;
#define VARIABLE(action) (*((lmm_variable_t*)(((char *) (action)) + (offset))))
- xbt_assert
0
(solve, "Give me a real solver function!");
+ xbt_assert(solve, "Give me a real solver function!");
solve(sys);
xbt_swag_foreach(action, running_actions) {
@@
-285,6
+289,20
@@
XBT_LOG_EXTERNAL_CATEGORY(surf_network_gtnets);
void surf_init(int *argc, char **argv)
{
+ XBT_DEBUG("Create all Libs");
+ host_lib = xbt_lib_new();
+ link_lib = xbt_lib_new();
+ as_router_lib = xbt_lib_new();
+
+ XBT_DEBUG("ADD ROUTING LEVEL");
+ ROUTING_HOST_LEVEL = xbt_lib_add_level(host_lib,xbt_free);
+ ROUTING_ASR_LEVEL = xbt_lib_add_level(as_router_lib,xbt_free);
+
+ XBT_DEBUG("ADD SURF LEVELS");
+ SURF_CPU_LEVEL = xbt_lib_add_level(host_lib,surf_resource_free);
+ SURF_WKS_LEVEL = xbt_lib_add_level(host_lib,surf_resource_free);
+ SURF_LINK_LEVEL = xbt_lib_add_level(link_lib,surf_resource_free);
+
/* Connect our log channels: that must be done manually under windows */
XBT_LOG_CONNECT(surf_cpu, surf);
XBT_LOG_CONNECT(surf_kernel, surf);
@@
-369,9
+387,14
@@
void surf_exit(void)
if (surf_path)
xbt_dynar_free(&surf_path);
+ xbt_lib_free(&host_lib);
+ xbt_lib_free(&link_lib);
+ xbt_lib_free(&as_router_lib);
+
tmgr_finalize();
surf_parse_lex_destroy();
surf_parse_free_callbacks();
+
NOW = 0; /* Just in case the user plans to restart the simulation afterward */
}