Skip to content

Commit

Permalink
-- changed over forms to use processing tag construct
Browse files Browse the repository at this point in the history
- Appears to be valid for various usages in core.
  • Loading branch information
pnstickne committed Dec 21, 2019
1 parent 912b68e commit b7483bf
Show file tree
Hide file tree
Showing 5 changed files with 85 additions and 66 deletions.
21 changes: 12 additions & 9 deletions src/vt/parameterization/parameterization.h
Original file line number Diff line number Diff line change
Expand Up @@ -87,16 +87,19 @@ static void dataMessageHandler(DataMsg<Tuple>* msg) {
);

#if backend_check_enabled(trace_enabled)
trace::TraceEntryIDType ep = auto_registry::handlerTraceID(
msg->sub_han, auto_registry::RegistryTypeEnum::RegGeneral
);
trace::TraceEventIDType event = envelopeGetTraceEvent(msg->env);

fmt::print("dataMessageHandler: id={}, ep={}\n", msg->sub_han, ep);
trace::TraceProcessingTag processing_tag;
{
trace::TraceEntryIDType ep = auto_registry::handlerTraceID(
msg->sub_han, auto_registry::RegistryTypeEnum::RegGeneral
);
trace::TraceEventIDType event = envelopeGetTraceEvent(msg->env);

NodeType const& from_node = theMsg()->getFromNodeCurrentHandler();
size_t msg_size = sizeof(*msg);
NodeType const& from_node = theMsg()->getFromNodeCurrentHandler();

theTrace()->beginProcessing(ep, sizeof(*msg), event, from_node);
processing_tag =
theTrace()->beginProcessing(ep, msg_size, event, from_node);
}
#endif

if (HandlerManagerType::isHandlerFunctor(msg->sub_han)) {
Expand All @@ -109,7 +112,7 @@ static void dataMessageHandler(DataMsg<Tuple>* msg) {
}

#if backend_check_enabled(trace_enabled)
theTrace()->endProcessing(ep, sizeof(*msg), event, from_node);
theTrace()->endProcessing(processing_tag);
#endif
}

Expand Down
38 changes: 22 additions & 16 deletions src/vt/rdma/state/rdma_state.cc
Original file line number Diff line number Diff line change
Expand Up @@ -251,19 +251,22 @@ void State::getData(
tag == no_tag or get_any_tag ? rdma_get_fn :
std::get<0>(get_tag_holder.find(tag)->second);

#if backend_check_enabled(trace_enabled)
#if backend_check_enabled(trace_enabled)
trace::TraceProcessingTag processing_tag;
{
::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::handlerTraceID(
reg_han, auto_registry::RegistryTypeEnum::RegRDMAGet
);
trace::TraceEventIDType event = theMsg()->getCurrentTraceEvent();
#endif
size_t msg_size = info.num_bytes;

#if backend_check_enabled(trace_enabled)
theTrace()->beginProcessing(trace_id, info.num_bytes, event, from_node);
#endif
processing_tag =
theTrace()->beginProcessing(trace_id, msg_size, event, from_node);
}
#endif

if (info.cont) {
info.cont(
Expand All @@ -279,9 +282,9 @@ void State::getData(
}
}

#if backend_check_enabled(trace_enabled)
theTrace()->endProcessing(trace_id, info.num_bytes, event, from_node);
#endif
#if backend_check_enabled(trace_enabled)
theTrace()->endProcessing(processing_tag);
#endif
} else {
pending_tag_gets[tag].push_back(info);
}
Expand Down Expand Up @@ -317,19 +320,22 @@ void State::putData(
tag == no_tag or put_any_tag ? rdma_put_fn :
std::get<0>(put_tag_holder.find(tag)->second);

#if backend_check_enabled(trace_enabled)
#if backend_check_enabled(trace_enabled)
trace::TraceProcessingTag processing_tag;
{
::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::handlerTraceID(
reg_han, auto_registry::RegistryTypeEnum::RegRDMAPut
);
trace::TraceEventIDType event = theMsg()->getCurrentTraceEvent();
#endif
size_t msg_size = info.num_bytes;

#if backend_check_enabled(trace_enabled)
theTrace()->beginProcessing(trace_id, info.num_bytes, event, from_node);
#endif
processing_tag =
theTrace()->beginProcessing(trace_id, msg_size, event, from_node);
}
#endif

put_fn(
base_msg, info.data_ptr, info.num_bytes, info.offset, info.tag,
Expand All @@ -344,9 +350,9 @@ void State::putData(
info.cont_action();
}

#if backend_check_enabled(trace_enabled)
theTrace()->endProcessing(trace_id, info.num_bytes, event, from_node);
#endif
#if backend_check_enabled(trace_enabled)
theTrace()->endProcessing(processing_tag);
#endif
} else {
pending_tag_puts[tag].push_back(info);
}
Expand Down
28 changes: 14 additions & 14 deletions src/vt/runnable/collection.impl.h
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,9 @@ template <typename MsgT, typename ElementT>
HandlerType handler, MsgT* msg, ElementT* elm, NodeType from,
bool member, uint64_t idx1, uint64_t idx2, uint64_t idx3, uint64_t idx4
) {
#if backend_check_enabled(trace_enabled)
#if backend_check_enabled(trace_enabled)
trace::TraceProcessingTag processing_tag;
{
auto reg_enum = member ?
auto_registry::RegistryTypeEnum::RegVrtCollectionMember :
auto_registry::RegistryTypeEnum::RegVrtCollection;
Expand All @@ -72,15 +74,16 @@ template <typename MsgT, typename ElementT>
trace::TraceEventIDType trace_event = theMsg()->getCurrentTraceEvent();
auto const ctx_node = theMsg()->getFromNodeCurrentHandler();
auto const from_node = from != uninitialized_destination ? from : ctx_node;
#endif

#if backend_check_enabled(trace_enabled)
auto const msg_size = vt::serialization::MsgSizer<MsgT>::get(msg);
theTrace()->beginProcessing(
trace_id, msg_size, trace_event, from_node,
trace::Trace::getCurrentTime(), idx1, idx2, idx3, idx4
);
#endif

processing_tag =
theTrace()->beginProcessing(
trace_id, msg_size, trace_event, from_node,
trace::Trace::getCurrentTime(), idx1, idx2, idx3, idx4
);
}
#endif

if (member) {
auto const func = auto_registry::getAutoHandlerCollectionMem(handler);
Expand All @@ -90,12 +93,9 @@ template <typename MsgT, typename ElementT>
func(msg, elm);
};

#if backend_check_enabled(trace_enabled)
theTrace()->endProcessing(
trace_id, msg_size, trace_event, from_node,
trace::Trace::getCurrentTime(), idx1, idx2, idx3, idx4
);
#endif
#if backend_check_enabled(trace_enabled)
theTrace()->endProcessing(processing_tag);
#endif
}

}} /* end namespace vt::runnable */
Expand Down
44 changes: 26 additions & 18 deletions src/vt/runnable/general.impl.h
Original file line number Diff line number Diff line change
Expand Up @@ -74,20 +74,24 @@ template <typename MsgT>
return runObj(handler, msg, from_node);
}

#if backend_check_enabled(trace_enabled)
#if backend_check_enabled(trace_enabled)
bool is_traced = HandlerManagerType::isHandlerTrace(handler);
trace::TraceProcessingTag processing_tag;

if (is_traced) {
trace::TraceEntryIDType trace_id = auto_registry::handlerTraceID(
handler, auto_registry::RegistryTypeEnum::RegGeneral
);
trace::TraceEventIDType trace_event = trace::no_trace_event;
if (msg) {
trace_event = envelopeGetTraceEvent(msg->env);
}
#endif
size_t msg_size = vt::serialization::MsgSizer<MsgT>::get(msg);

#if backend_check_enabled(trace_enabled)
auto const msg_size = vt::serialization::MsgSizer<MsgT>::get(msg);
theTrace()->beginProcessing(trace_id, msg_size, trace_event, from_node);
#endif
processing_tag =
theTrace()->beginProcessing(trace_id, msg_size, trace_event, from_node);
}
#endif

bool is_functor = false;
bool is_auto = false;
Expand Down Expand Up @@ -120,9 +124,11 @@ template <typename MsgT>
func(msg);
}

#if backend_check_enabled(trace_enabled)
theTrace()->endProcessing(trace_id, msg_size, trace_event, from_node);
#endif
#if backend_check_enabled(trace_enabled)
if (is_traced) {
theTrace()->endProcessing(processing_tag);
}
#endif
}

template <typename MsgT>
Expand All @@ -131,29 +137,31 @@ template <typename MsgT>
) {
using HandlerManagerType = HandlerManager;

#if backend_check_enabled(trace_enabled)
#if backend_check_enabled(trace_enabled)
trace::TraceProcessingTag processing_tag;
{
trace::TraceEntryIDType trace_id = auto_registry::handlerTraceID(
handler, auto_registry::RegistryTypeEnum::RegObjGroup
);
trace::TraceEventIDType trace_event = trace::no_trace_event;
if (msg) {
trace_event = envelopeGetTraceEvent(msg->env);
}
#endif
size_t msg_size = vt::serialization::MsgSizer<MsgT>::get(msg);

#if backend_check_enabled(trace_enabled)
auto const msg_size = vt::serialization::MsgSizer<MsgT>::get(msg);
theTrace()->beginProcessing(trace_id, msg_size, trace_event, from_node);
#endif
processing_tag =
theTrace()->beginProcessing(trace_id, msg_size, trace_event, from_node);
}
#endif

bool const is_obj = HandlerManagerType::isHandlerObjGroup(handler);
vtAssert(is_obj, "Must be an object group handler");
auto pmsg = promoteMsg(msg);
objgroup::dispatchObjGroup(pmsg.template toVirtual<ShortMessage>(),handler);

#if backend_check_enabled(trace_enabled)
theTrace()->endProcessing(trace_id, msg_size, trace_event, from_node);
#endif
#if backend_check_enabled(trace_enabled)
theTrace()->endProcessing(processing_tag);
#endif
}

/*static*/ inline void RunnableVoid::run(
Expand Down
20 changes: 11 additions & 9 deletions src/vt/runnable/vrt.impl.h
Original file line number Diff line number Diff line change
Expand Up @@ -60,24 +60,26 @@ template <typename MsgT, typename ElementT>
/*static*/ void RunnableVrt<MsgT,ElementT>::run(
HandlerType handler, MsgT* msg, ElementT* elm, NodeType from_node
) {
#if backend_check_enabled(trace_enabled)
#if backend_check_enabled(trace_enabled)
trace::TraceProcessingTag processing_tag;
{
trace::TraceEntryIDType trace_id = auto_registry::handlerTraceID(
handler, auto_registry::RegistryTypeEnum::RegVrt
);
trace::TraceEventIDType trace_event = envelopeGetTraceEvent(msg->env);
#endif
size_t msg_size = vt::serialization::MsgSizer<MsgT>::get(msg);

#if backend_check_enabled(trace_enabled)
auto const msg_size = vt::serialization::MsgSizer<MsgT>::get(msg);
theTrace()->beginProcessing(trace_id, msg_size, trace_event, from_node);
#endif
processing_tag =
theTrace()->beginProcessing(trace_id, msg_size, trace_event, from_node);
}
#endif

auto const func = auto_registry::getAutoHandlerVC(handler);
func(msg, elm);

#if backend_check_enabled(trace_enabled)
theTrace()->endProcessing(trace_id, msg_size, trace_event, from_node);
#endif
#if backend_check_enabled(trace_enabled)
theTrace()->endProcessing(processing_tag);
#endif
}

}} /* end namespace vt::runnable */
Expand Down

0 comments on commit b7483bf

Please sign in to comment.