X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/fc727903530d55d5d3f903a8213c7cb8a3273c7a..411e3479d19b1ccbd3ea92787646394a356e47e3:/src/simix/smx_smurf.c diff --git a/src/simix/smx_smurf.c b/src/simix/smx_smurf.c index c752587d3c..ab94a65be2 100644 --- a/src/simix/smx_smurf.c +++ b/src/simix/smx_smurf.c @@ -13,7 +13,8 @@ XBT_INLINE smx_simcall_t SIMIX_simcall_mine() /** * \brief Makes the current process do a simcall to the kernel and yields - * until completion. + * until completion. If the current thread is maestro, we don't yield and + * execute the simcall directly. * \param self the current process */ void SIMIX_simcall_push(smx_process_t self) @@ -33,10 +34,12 @@ void SIMIX_simcall_answer(smx_simcall_t simcall) XBT_DEBUG("Answer simcall %s (%d) issued by %s (%p)", SIMIX_simcall_name(simcall->call), (int)simcall->call, simcall->issuer->name, simcall->issuer); simcall->issuer->simcall.call = SIMCALL_NONE; - if(!xbt_dynar_member(simix_global->process_to_run, &(simcall->issuer))) - xbt_dynar_push_as(simix_global->process_to_run, smx_process_t, simcall->issuer); - else - DIE_IMPOSSIBLE; +/* This check should be useless and slows everyone. Reactivate if you see something + * weird in process scheduling. + */ +/* if(!xbt_dynar_member(simix_global->process_to_run, &(simcall->issuer))) */ + xbt_dynar_push_as(simix_global->process_to_run, smx_process_t, simcall->issuer); +/* else DIE_IMPOSSIBLE; */ } }