From: Frederic Suter Date: Tue, 19 Dec 2017 18:06:52 +0000 (+0100) Subject: tracking works better if signals are triggered X-Git-Tag: v3.18~15 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/cf51d55db1e6cb288ebc0a77a2977ec24f013bc0 tracking works better if signals are triggered --- diff --git a/src/kernel/activity/ExecImpl.cpp b/src/kernel/activity/ExecImpl.cpp index 89bcbe3f0e..0484cc746c 100644 --- a/src/kernel/activity/ExecImpl.cpp +++ b/src/kernel/activity/ExecImpl.cpp @@ -81,6 +81,7 @@ void simgrid::kernel::activity::ExecImpl::post() timeoutDetector = nullptr; } + onCompletion(this); /* If there are simcalls associated with the synchro, then answer them */ if (not simcalls.empty()) SIMIX_execution_finish(this); @@ -90,4 +91,4 @@ void simgrid::kernel::activity::ExecImpl::post() * Callbacks * *************/ simgrid::xbt::signal simgrid::kernel::activity::ExecImpl::onCreation; -simgrid::xbt::signal simgrid::kernel::activity::ExecImpl::onDestruction; +simgrid::xbt::signal simgrid::kernel::activity::ExecImpl::onCompletion; diff --git a/src/kernel/activity/ExecImpl.hpp b/src/kernel/activity/ExecImpl.hpp index 4e68dc43b5..f71e3cc113 100644 --- a/src/kernel/activity/ExecImpl.hpp +++ b/src/kernel/activity/ExecImpl.hpp @@ -31,7 +31,7 @@ public: surf_action_t surfAction_ = nullptr; /* The Surf execution action encapsulated */ surf::Action* timeoutDetector = nullptr; static simgrid::xbt::signal onCreation; - static simgrid::xbt::signal onDestruction; + static simgrid::xbt::signal onCompletion; }; } } diff --git a/src/simix/smx_host.cpp b/src/simix/smx_host.cpp index 38667177cc..ed49843c8a 100644 --- a/src/simix/smx_host.cpp +++ b/src/simix/smx_host.cpp @@ -165,6 +165,7 @@ SIMIX_execution_start(const char* name, double flops_amount, double priority, do } XBT_DEBUG("Create execute synchro %p: %s", exec.get(), exec->name.c_str()); + simgrid::kernel::activity::ExecImpl::onCreation(exec); return exec; } diff --git a/src/surf/plugins/dirty_page_tracking.cpp b/src/surf/plugins/dirty_page_tracking.cpp index e923f55031..329f12396c 100644 --- a/src/surf/plugins/dirty_page_tracking.cpp +++ b/src/surf/plugins/dirty_page_tracking.cpp @@ -74,7 +74,7 @@ static void onExecCreation(simgrid::kernel::activity::ExecImplPtr exec) } } -static void onExecDestruction(simgrid::kernel::activity::ExecImplPtr exec) +static void onExecCompletion(simgrid::kernel::activity::ExecImplPtr exec) { simgrid::s4u::VirtualMachine* vm = dynamic_cast(exec->host_); if (vm == nullptr) @@ -99,7 +99,7 @@ void sg_vm_live_migration_plugin_init() simgrid::vm::VirtualMachineImpl::extension_create(); simgrid::vm::VirtualMachineImpl::onVmCreation.connect(&onVirtualMachineCreation); simgrid::kernel::activity::ExecImpl::onCreation.connect(&onExecCreation); - simgrid::kernel::activity::ExecImpl::onDestruction.connect(&onExecDestruction); + simgrid::kernel::activity::ExecImpl::onCompletion.connect(&onExecCompletion); } }