From: Christian Heinrich Date: Thu, 9 Aug 2018 08:12:45 +0000 (+0200) Subject: [SMPI/LB] Require an actor as argument for get_mapping X-Git-Tag: v3_21~266^2~1 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/35b7bf2e7f3a9c14f6222bc84d60bb5a070b06bd?hp=397fc830a6a13c81f7d4b2730d76b60eaed420ee [SMPI/LB] Require an actor as argument for get_mapping --- diff --git a/src/smpi/plugins/load_balancer/LoadBalancer.cpp b/src/smpi/plugins/load_balancer/LoadBalancer.cpp index 12c4ef830e..bf993dc4a3 100644 --- a/src/smpi/plugins/load_balancer/LoadBalancer.cpp +++ b/src/smpi/plugins/load_balancer/LoadBalancer.cpp @@ -136,9 +136,9 @@ void LoadBalancer::run() } } -simgrid::s4u::Host* LoadBalancer::get_mapping() +simgrid::s4u::Host* LoadBalancer::get_mapping(simgrid::s4u::ActorPtr actor) { - return new_mapping.get_host(simgrid::s4u::Actor::self()); + return new_mapping.get_host(actor); } void LoadBalancer::record_actor_computation(simgrid::s4u::ActorPtr actor, double load) diff --git a/src/smpi/plugins/load_balancer/load_balancer.hpp b/src/smpi/plugins/load_balancer/load_balancer.hpp index cfdf483c37..44a2d08b35 100644 --- a/src/smpi/plugins/load_balancer/load_balancer.hpp +++ b/src/smpi/plugins/load_balancer/load_balancer.hpp @@ -70,7 +70,7 @@ public: /** * FIXME These are functions used for testing and should be re-written or removed */ - simgrid::s4u::Host* get_mapping(); + simgrid::s4u::Host* get_mapping(simgrid::s4u::ActorPtr); void record_actor_computation(simgrid::s4u::ActorPtr actor, double load); private: }; diff --git a/src/smpi/plugins/sampi_loadbalancer.cpp b/src/smpi/plugins/sampi_loadbalancer.cpp index 99e1bcc929..b201830d3c 100644 --- a/src/smpi/plugins/sampi_loadbalancer.cpp +++ b/src/smpi/plugins/sampi_loadbalancer.cpp @@ -78,7 +78,7 @@ public: smpilb_bar.wait(); was_executed = false; // Must stay behind this barrier so that all processes have passed the if clause - migrate_to_host = lb.get_mapping(); + migrate_to_host = lb.get_mapping(simgrid::s4u::Actor::self()); if (cur_host != migrate_to_host) { // Origin and dest are not the same -> migrate sg_host_t migration_hosts[2] = {cur_host, migrate_to_host}; // Changing this to double[2] ... will cause trouble with parallel_execute, because that fct is trying to call free().