From de80d5ef0851084740c90f9347782c8c04fb0a9b Mon Sep 17 00:00:00 2001 From: Jacob Domagala Date: Tue, 18 Jan 2022 18:54:20 +0100 Subject: [PATCH] #1445: active: Add LB stats instrumentation for self-send runnable object --- src/vt/messaging/active.cc | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/vt/messaging/active.cc b/src/vt/messaging/active.cc index b45ac2e21d..fc567f7aa3 100644 --- a/src/vt/messaging/active.cc +++ b/src/vt/messaging/active.cc @@ -528,8 +528,21 @@ EventType ActiveMessenger::doMessageSend( if (dest != this_node) { sendMsgBytesWithPut(dest, base, send_tag); } else { + if (theContext()->getTask() != nullptr) { + auto lb = theContext()->getTask()->get(); + if (lb) { + auto const already_recorded = + envelopeCommStatsRecordedAboveBareHandler(msg->env); + if (not already_recorded) { + auto dest_elm_id = elm::ElmIDBits::createBareHandler(dest); + theContext()->getTask()->send(dest_elm_id, base.size()); + } + } + } + runnable::makeRunnable(base, true, envelopeGetHandler(msg->env), dest) .withTDEpochFromMsg(is_term) + .withLBStats(&bare_handler_stats_, bare_handler_dummy_elm_id_for_lb_stats_) .enqueue(); } return no_event;