Skip to content

Commit

Permalink
Merge pull request #576 from DARMA-tasking/575-event-registry-bugs
Browse files Browse the repository at this point in the history
575 event registry bugs
  • Loading branch information
lifflander authored Nov 25, 2019
2 parents 86e5042 + 05d527b commit e01e2ee
Show file tree
Hide file tree
Showing 21 changed files with 318 additions and 289 deletions.
13 changes: 3 additions & 10 deletions src/vt/messaging/active.cc
Original file line number Diff line number Diff line change
Expand Up @@ -265,7 +265,7 @@ EventType ActiveMessenger::sendMsgSized(
auto const handler = envelopeGetHandler(msg->env);
bool const is_auto = HandlerManagerType::isHandlerAuto(handler);
if (is_auto) {
trace::TraceEntryIDType ep = auto_registry::theTraceID(
trace::TraceEntryIDType ep = auto_registry::handlerTraceID(
handler, auto_registry::RegistryTypeEnum::RegGeneral
);
if (not is_bcast) {
Expand Down Expand Up @@ -298,19 +298,12 @@ EventType ActiveMessenger::sendMsgSized(
base, uninitialized_destination, msg_size, true, &deliver
);

EventType ret = no_event;

if (deliver) {
EventType event = no_event;

sendMsgBytesWithPut(dest, base, msg_size, send_tag);

ret = event;
} else {
ret = ret_event;
return no_event;
}

return ret;
return ret_event;
}

ActiveMessenger::SendDataRetType ActiveMessenger::sendData(
Expand Down
2 changes: 1 addition & 1 deletion src/vt/parameterization/parameterization.h
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ static void dataMessageHandler(DataMsg<Tuple>* msg) {
);

#if backend_check_enabled(trace_enabled)
trace::TraceEntryIDType ep = auto_registry::theTraceID(
trace::TraceEntryIDType ep = auto_registry::handlerTraceID(
msg->sub_han, auto_registry::RegistryTypeEnum::RegGeneral
);
trace::TraceEventIDType event = envelopeGetTraceEvent(msg->env);
Expand Down
4 changes: 2 additions & 2 deletions src/vt/rdma/state/rdma_state.cc
Original file line number Diff line number Diff line change
Expand Up @@ -255,7 +255,7 @@ void State::getData(
::vt::HandlerType const reg_han =
tag == no_tag or get_any_tag ? this_get_handler :
std::get<2>(get_tag_holder.find(tag)->second);
trace::TraceEntryIDType trace_id = auto_registry::theTraceID(
trace::TraceEntryIDType trace_id = auto_registry::handlerTraceID(
reg_han, auto_registry::RegistryTypeEnum::RegRDMAGet
);
trace::TraceEventIDType event = theMsg()->getCurrentTraceEvent();
Expand Down Expand Up @@ -321,7 +321,7 @@ void State::putData(
::vt::HandlerType const reg_han =
tag == no_tag or put_any_tag ? this_put_handler :
std::get<2>(put_tag_holder.find(tag)->second);
trace::TraceEntryIDType trace_id = auto_registry::theTraceID(
trace::TraceEntryIDType trace_id = auto_registry::handlerTraceID(
reg_han, auto_registry::RegistryTypeEnum::RegRDMAPut
);
trace::TraceEventIDType event = theMsg()->getCurrentTraceEvent();
Expand Down
2 changes: 1 addition & 1 deletion src/vt/registry/auto/auto_registry.cc
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@
namespace vt { namespace auto_registry {

#if backend_check_enabled(trace_enabled)
trace::TraceEntryIDType theTraceID(
trace::TraceEntryIDType handlerTraceID(
HandlerType const& handler, RegistryTypeEnum reg_type
) {
switch (reg_type) {
Expand Down
4 changes: 0 additions & 4 deletions src/vt/registry/auto/auto_registry.h
Original file line number Diff line number Diff line change
Expand Up @@ -87,10 +87,6 @@ void setHandlerTraceName(std::string const& name, std::string const& parent = ""
template <typename T, T value>
void setHandlerTraceName(std::string const& name, std::string const& parent = "");

void setTraceName(
trace::TraceEntryIDType id, std::string const& name, std::string const& parent
);

}} // end namespace vt::auto_registry

#include "vt/registry/auto/auto_registry_impl.h"
Expand Down
39 changes: 6 additions & 33 deletions src/vt/registry/auto/auto_registry_impl.h
Original file line number Diff line number Diff line change
Expand Up @@ -129,53 +129,26 @@ void setHandlerTraceNameObjGroup(
) {
#if backend_check_enabled(trace_enabled)
auto const handler = makeAutoHandlerObjGroup<ObjT,MsgT,f>(ctrl);
auto const trace_id = theTraceID(handler, RegistryTypeEnum::RegObjGroup);
setTraceName(trace_id, name, parent);
auto const trace_id = handlerTraceID(handler, RegistryTypeEnum::RegObjGroup);
trace::TraceRegistry::setTraceName(trace_id, name, parent);
#endif
}

template <typename MsgT, ActiveTypedFnType<MsgT>* f>
void setHandlerTraceName(std::string const& name, std::string const& parent) {
#if backend_check_enabled(trace_enabled)
auto const handler = makeAutoHandler<MsgT,f>(nullptr);
auto const trace_id = theTraceID(handler, RegistryTypeEnum::RegGeneral);
setTraceName(trace_id, name, parent);
auto const trace_id = handlerTraceID(handler, RegistryTypeEnum::RegGeneral);
trace::TraceRegistry::setTraceName(trace_id, name, parent);
#endif
}

template <typename T, T value>
void setHandlerTraceName(std::string const& name, std::string const& parent) {
#if backend_check_enabled(trace_enabled)
auto const handler = makeAutoHandlerParam<T,value>();
auto const trace_id = theTraceID(handler, RegistryTypeEnum::RegGeneral);
setTraceName(trace_id, name, parent);
#endif
}

inline void setTraceName(
trace::TraceEntryIDType id, std::string const& name, std::string const& parent
) {
#if backend_check_enabled(trace_enabled)
using TraceContainersType = trace::TraceRegistry::TraceContainersType;
auto event_iter = TraceContainersType::getEventContainer().find(id);
vtAssertExpr(event_iter != TraceContainersType::getEventContainer().end());
if (event_iter != TraceContainersType::getEventContainer().end()) {
if (name != "") {
event_iter->second.setEventName(name);
}
if (parent != "") {
auto type_id = event_iter->second.theEventTypeId();
auto iter = TraceContainersType::getEventTypeContainer().find(type_id);
vtAssertInfo(
iter != TraceContainersType::getEventTypeContainer().end(),
"Event type must exist",
name, parent, id, type_id
);
if (iter != TraceContainersType::getEventTypeContainer().end()) {
iter->second.setEventName(parent);
}
}
}
auto const trace_id = handlerTraceID(handler, RegistryTypeEnum::RegGeneral);
trace::TraceRegistry::setTraceName(trace_id, name, parent);
#endif
}

Expand Down
2 changes: 1 addition & 1 deletion src/vt/registry/auto/auto_registry_interface.h
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ AutoActiveType getAutoHandler(HandlerType const& handler);
AutoActiveFunctorType getAutoHandlerFunctor(HandlerType const& handler);

#if backend_check_enabled(trace_enabled)
trace::TraceEntryIDType theTraceID(
trace::TraceEntryIDType handlerTraceID(
HandlerType const& handler, RegistryTypeEnum reg_type
);
#endif
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -88,21 +88,20 @@ template <typename ColT, typename MsgT, ActiveColTypedFnType<MsgT, ColT>* f>
void setHandlerTraceNameColl(std::string const& name, std::string const& parent) {
#if backend_check_enabled(trace_enabled)
auto const handler = makeAutoHandlerCollection<ColT,MsgT,f>(nullptr);
auto const trace_id = theTraceID(handler, RegistryTypeEnum::RegVrtCollection);
setTraceName(trace_id, name, parent);
auto const trace_id = handlerTraceID(handler, RegistryTypeEnum::RegVrtCollection);
trace::TraceRegistry::setTraceName(trace_id, name, parent);
#endif
}

template <typename ColT, typename MsgT, ActiveColMemberTypedFnType<MsgT, ColT> f>
void setHandlerTraceNameCollMem(std::string const& name, std::string const& parent) {
#if backend_check_enabled(trace_enabled)
auto const handler = makeAutoHandlerCollectionMem<ColT,MsgT,f>(nullptr);
auto const trace_id = theTraceID(handler, RegistryTypeEnum::RegVrtCollectionMember);
setTraceName(trace_id, name, parent);
auto const trace_id = handlerTraceID(handler, RegistryTypeEnum::RegVrtCollectionMember);
trace::TraceRegistry::setTraceName(trace_id, name, parent);
#endif
}


}} /* end namespace vt::auto_registry */

#endif /*INCLUDED_REGISTRY_AUTO_COLLECTION_AUTO_REGISTRY_COLLECTION_IMPL_H*/
2 changes: 1 addition & 1 deletion src/vt/runnable/collection.impl.h
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ template <typename MsgT, typename ElementT>
auto reg_enum = member ?
auto_registry::RegistryTypeEnum::RegVrtCollectionMember :
auto_registry::RegistryTypeEnum::RegVrtCollection;
trace::TraceEntryIDType trace_id = auto_registry::theTraceID(
trace::TraceEntryIDType trace_id = auto_registry::handlerTraceID(
handler, reg_enum
);
trace::TraceEventIDType trace_event = theMsg()->getCurrentTraceEvent();
Expand Down
4 changes: 2 additions & 2 deletions src/vt/runnable/general.impl.h
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ template <typename MsgT>
}

#if backend_check_enabled(trace_enabled)
trace::TraceEntryIDType trace_id = auto_registry::theTraceID(
trace::TraceEntryIDType trace_id = auto_registry::handlerTraceID(
handler, auto_registry::RegistryTypeEnum::RegGeneral
);
trace::TraceEventIDType trace_event = trace::no_trace_event;
Expand Down Expand Up @@ -132,7 +132,7 @@ template <typename MsgT>
using HandlerManagerType = HandlerManager;

#if backend_check_enabled(trace_enabled)
trace::TraceEntryIDType trace_id = auto_registry::theTraceID(
trace::TraceEntryIDType trace_id = auto_registry::handlerTraceID(
handler, auto_registry::RegistryTypeEnum::RegObjGroup
);
trace::TraceEventIDType trace_event = trace::no_trace_event;
Expand Down
2 changes: 1 addition & 1 deletion src/vt/runnable/vrt.impl.h
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ template <typename MsgT, typename ElementT>
HandlerType handler, MsgT* msg, ElementT* elm, NodeType from_node
) {
#if backend_check_enabled(trace_enabled)
trace::TraceEntryIDType trace_id = auto_registry::theTraceID(
trace::TraceEntryIDType trace_id = auto_registry::handlerTraceID(
handler, auto_registry::RegistryTypeEnum::RegVrt
);
trace::TraceEventIDType trace_event = envelopeGetTraceEvent(msg->env);
Expand Down
Loading

0 comments on commit e01e2ee

Please sign in to comment.