Commit 81bce85b authored by Philip Carns's avatar Philip Carns

move comment from header to source

- The logic for relaying RPC breadcrumbs from RPC requests to threads is
  now internal to margo (which is good), just moving comment
  accordingly.
parent 6f9a3c09
......@@ -990,11 +990,6 @@ hg_return_t _handler_for_##__name(hg_handle_t handle) { \
/**
* macro that defines a function to glue an RPC handler to a ult handler
* @param [in] __name name of handler function
*
* Note: we use this opportunity to set a thread-local argobots key that stores
* the "breadcrumb" that was set in the RPC. It is shifted down 16 bits so that
* if this handler in turn issues more RPCs there will be a stack showing their
* ancestry.
*/
#define DEFINE_MARGO_RPC_HANDLER(__name) \
__MARGO_INTERNAL_RPC_WRAPPER(__name) \
......
......@@ -1958,9 +1958,16 @@ void __margo_internal_pre_wrapper_hooks(margo_instance_id mid, hg_handle_t handl
{
hg_return_t ret;
uint64_t *rpc_breadcrumb;
ret = HG_Get_input_buf(handle, (void**)&rpc_breadcrumb, NULL);
assert(ret == HG_SUCCESS);
*rpc_breadcrumb = le64toh(*rpc_breadcrumb);
/* Note: we use this opportunity to retrieve the incoming RPC
* breadcrumb and put it in a thread-local argobots key. It is
* shifted down 16 bits so that if this handler in turn issues more
* RPCs, there will be a stack showing the ancestry of RPC calls that
* led to that point.
*/
margo_internal_breadcrumb_handler_set((*rpc_breadcrumb) << 16);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment