- do {
- 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, 0);
+ XBT_DEBUG("New Schedule Round; size(queue)=%lu",
+ xbt_dynar_length(simix_global->process_to_run));
+#ifdef TIME_BENCH
+ smx_ctx_raw_new_sr();
+#endif
+ while (!xbt_dynar_is_empty(simix_global->process_to_run)) {
+ XBT_DEBUG("New Sub-Schedule Round; size(queue)=%lu",
+ xbt_dynar_length(simix_global->process_to_run));
+ SIMIX_process_runall();
+ xbt_dynar_foreach(simix_global->process_that_ran, iter, process) {
+ if (process->request.call != REQ_NO_REQ) {
+ SIMIX_request_pre(&process->request, 0);
+ }