From 35b7bf2e7f3a9c14f6222bc84d60bb5a070b06bd Mon Sep 17 00:00:00 2001 From: Christian Heinrich Date: Thu, 9 Aug 2018 10:12:45 +0200 Subject: [PATCH] [SMPI/LB] Require an actor as argument for get_mapping --- src/smpi/plugins/load_balancer/LoadBalancer.cpp | 4 ++-- src/smpi/plugins/load_balancer/load_balancer.hpp | 2 +- src/smpi/plugins/sampi_loadbalancer.cpp | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) 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(). -- 2.20.1