simix_global = xbt_new0(s_smx_global_t, 1);
simix_global->host = xbt_dict_new();
- simix_global->process_to_run =
- xbt_swag_new(xbt_swag_offset(proc, synchro_hookup));
+ simix_global->process_to_run = xbt_dynar_new(sizeof(void *), NULL);
simix_global->process_list =
xbt_swag_new(xbt_swag_offset(proc, process_hookup));
simix_global->process_to_destroy =
simix_global->kill_process_function = NULL;
simix_global->cleanup_process_function = SIMIX_process_cleanup;
-#ifdef HAVE_LATENCY_BOUND_TRACKING
- simix_global->latency_limited_dict = xbt_dict_new();
-#endif
-
surf_init(argc, argv); /* Initialize SURF structures */
SIMIX_context_mod_init();
SIMIX_create_maestro_process();
xbt_heap_free(simix_timers);
/* Free the remaining data structures */
- xbt_swag_free(simix_global->process_to_run);
+ xbt_dynar_free(&simix_global->process_to_run);
xbt_swag_free(simix_global->process_to_destroy);
xbt_swag_free(simix_global->process_list);
simix_global->process_list = NULL;
xbt_dict_free(&(simix_global->registered_functions));
xbt_dict_free(&(simix_global->host));
-#ifdef HAVE_LATENCY_BOUND_TRACKING
- xbt_dict_free(&(simix_global->latency_limited_dict));
-#endif
-
/* Let's free maestro now */
SIMIX_context_free(simix_global->maestro_process->context);
xbt_free(simix_global->maestro_process->running_ctx);
do {
do {
- DEBUG0("New Schedule Round");
+ DEBUG1("New Schedule Round; size(queue)=%lu",
+ xbt_dynar_length(simix_global->process_to_run));
SIMIX_context_runall(simix_global->process_to_run);
while ((req = SIMIX_request_pop())) {
DEBUG1("Handling request %p", req);
- SIMIX_request_pre(req);
+ SIMIX_request_pre(req, 0);
}
- } while (xbt_swag_size(simix_global->process_to_run));
+ } while (xbt_dynar_length(simix_global->process_to_run));
time = surf_solve(SIMIX_timer_next());