tl                291 opal/mca/btl/uct/btl_uct.h static inline bool mca_btl_uct_tl_supports_rdma (mca_btl_uct_tl_t *tl)
tl                293 opal/mca/btl/uct/btl_uct.h     return (MCA_BTL_UCT_TL_ATTR(tl, 0).cap.flags & (UCT_IFACE_FLAG_PUT_ZCOPY | UCT_IFACE_FLAG_GET_ZCOPY)) ==
tl                300 opal/mca/btl/uct/btl_uct.h static inline bool mca_btl_uct_tl_support_am (mca_btl_uct_tl_t *tl)
tl                302 opal/mca/btl/uct/btl_uct.h     return (MCA_BTL_UCT_TL_ATTR(tl, 0).cap.flags & (UCT_IFACE_FLAG_AM_SHORT | UCT_IFACE_FLAG_AM_BCOPY | UCT_IFACE_FLAG_AM_ZCOPY));
tl                310 opal/mca/btl/uct/btl_uct.h static inline bool mca_btl_uct_tl_supports_conn (mca_btl_uct_tl_t *tl)
tl                312 opal/mca/btl/uct/btl_uct.h     return (MCA_BTL_UCT_TL_ATTR(tl, 0).cap.flags & (UCT_IFACE_FLAG_AM_SHORT | UCT_IFACE_FLAG_CONNECT_TO_IFACE)) ==
tl                321 opal/mca/btl/uct/btl_uct.h static inline bool mca_btl_uct_tl_requires_connection_tl (mca_btl_uct_tl_t *tl)
tl                323 opal/mca/btl/uct/btl_uct.h     return !(MCA_BTL_UCT_TL_ATTR(tl, 0).cap.flags & UCT_IFACE_FLAG_CONNECT_TO_IFACE);
tl                157 opal/mca/btl/uct/btl_uct_component.c static size_t mca_btl_uct_tl_modex_size (mca_btl_uct_tl_t *tl)
tl                159 opal/mca/btl/uct/btl_uct_component.c     const size_t size = strlen (tl->uct_tl_name) + 1;
tl                161 opal/mca/btl/uct/btl_uct_component.c     if (MCA_BTL_UCT_TL_ATTR(tl, 0).cap.flags & UCT_IFACE_FLAG_CONNECT_TO_IFACE) {
tl                163 opal/mca/btl/uct/btl_uct_component.c         return (4 + 3 + size + MCA_BTL_UCT_TL_ATTR(tl, 0).device_addr_len + MCA_BTL_UCT_TL_ATTR(tl, 0).iface_addr_len) & ~3;
tl                166 opal/mca/btl/uct/btl_uct_component.c     return (4 + 3 + size + MCA_BTL_UCT_TL_ATTR(tl, 0).device_addr_len) & ~3;
tl                188 opal/mca/btl/uct/btl_uct_component.c static size_t mca_btl_uct_tl_modex_pack (mca_btl_uct_tl_t *tl, uint8_t *modex_data)
tl                190 opal/mca/btl/uct/btl_uct_component.c     mca_btl_uct_device_context_t *dev_context = tl->uct_dev_contexts[0];
tl                191 opal/mca/btl/uct/btl_uct_component.c     size_t modex_size = mca_btl_uct_tl_modex_size (tl);
tl                196 opal/mca/btl/uct/btl_uct_component.c     strcpy ((char *) modex_data, tl->uct_tl_name);
tl                197 opal/mca/btl/uct/btl_uct_component.c     modex_data += strlen (tl->uct_tl_name) + 1;
tl                205 opal/mca/btl/uct/btl_uct_component.c     if (MCA_BTL_UCT_TL_ATTR(tl, 0).cap.flags & UCT_IFACE_FLAG_CONNECT_TO_IFACE) {
tl                207 opal/mca/btl/uct/btl_uct_component.c         modex_data += MCA_BTL_UCT_TL_ATTR(tl, 0).iface_addr_len;
tl                211 opal/mca/btl/uct/btl_uct_component.c     modex_data += MCA_BTL_UCT_TL_ATTR(tl, 0).device_addr_len;
tl                470 opal/mca/btl/uct/btl_uct_component.c static int mca_btl_uct_tl_progress (mca_btl_uct_tl_t *tl, int starting_index)
tl                474 opal/mca/btl/uct/btl_uct_component.c     if (NULL == tl) {
tl                478 opal/mca/btl/uct/btl_uct_component.c     for (int j = 0 ; j < tl->max_device_contexts ; ++j) {
tl                479 opal/mca/btl/uct/btl_uct_component.c         if (tl->uct_dev_contexts[j]) {
tl                480 opal/mca/btl/uct/btl_uct_component.c             ret += mca_btl_uct_context_progress (tl->uct_dev_contexts[j]);
tl                 26 opal/mca/btl/uct/btl_uct_device_context.h mca_btl_uct_device_context_t *mca_btl_uct_context_create (mca_btl_uct_module_t *module, mca_btl_uct_tl_t *tl, int context_id, bool enable_progress);
tl                 87 opal/mca/btl/uct/btl_uct_device_context.h mca_btl_uct_module_get_tl_context_specific (mca_btl_uct_module_t *module, mca_btl_uct_tl_t *tl, int context_id)
tl                 89 opal/mca/btl/uct/btl_uct_device_context.h     mca_btl_uct_device_context_t *context = tl->uct_dev_contexts[context_id];
tl                 93 opal/mca/btl/uct/btl_uct_device_context.h         context = tl->uct_dev_contexts[context_id];
tl                 95 opal/mca/btl/uct/btl_uct_device_context.h             context = tl->uct_dev_contexts[context_id] = mca_btl_uct_context_create (module, tl, context_id, true);
tl                127 opal/mca/btl/uct/btl_uct_endpoint.c static int mca_btl_uct_endpoint_connect_iface (mca_btl_uct_module_t *uct_btl, mca_btl_uct_tl_t *tl,
tl                137 opal/mca/btl/uct/btl_uct_endpoint.c     device_addr = (uct_device_addr_t *) ((uintptr_t) iface_addr + MCA_BTL_UCT_TL_ATTR(tl, tl_context->context_id).iface_addr_len);
tl                234 opal/mca/btl/uct/btl_uct_endpoint.c                                                   mca_btl_uct_tl_t *tl, mca_btl_uct_device_context_t *tl_context,
tl                238 opal/mca/btl/uct/btl_uct_endpoint.c     size_t request_length = sizeof (mca_btl_uct_conn_req_t) + MCA_BTL_UCT_TL_ATTR(tl, tl_context->context_id).ep_addr_len;
tl                281 opal/mca/btl/uct/btl_uct_endpoint.c     request->tl_index = tl->tl_index;
tl                299 opal/mca/btl/uct/btl_uct_endpoint.c                      tl->uct_tl_name, tl_context->context_id, ep_addr));
tl                335 opal/mca/btl/uct/btl_uct_endpoint.c     mca_btl_uct_tl_t *tl = (uct_btl->rdma_tl && tl_index == uct_btl->rdma_tl->tl_index) ?
tl                337 opal/mca/btl/uct/btl_uct_endpoint.c     mca_btl_uct_device_context_t *tl_context = mca_btl_uct_module_get_tl_context_specific (uct_btl, tl, context_id);
tl                348 opal/mca/btl/uct/btl_uct_endpoint.c     if (OPAL_UNLIKELY(NULL == tl)) {
tl                401 opal/mca/btl/uct/btl_uct_endpoint.c         tl_data = (tl == uct_btl->rdma_tl) ? rdma_tl_data : am_tl_data;
tl                409 opal/mca/btl/uct/btl_uct_endpoint.c         if (!mca_btl_uct_tl_requires_connection_tl (tl)) {
tl                410 opal/mca/btl/uct/btl_uct_endpoint.c             rc = mca_btl_uct_endpoint_connect_iface (uct_btl, tl, tl_context, tl_endpoint, tl_data);
tl                412 opal/mca/btl/uct/btl_uct_endpoint.c             rc = mca_btl_uct_endpoint_connect_endpoint (uct_btl, endpoint, tl, tl_context, tl_endpoint,
tl                 71 opal/mca/btl/uct/btl_uct_tl.c static void mca_btl_uct_module_set_atomic_flags (mca_btl_uct_module_t *module, mca_btl_uct_tl_t *tl)
tl                 73 opal/mca/btl/uct/btl_uct_tl.c     uint64_t cap_flags = MCA_BTL_UCT_TL_ATTR(tl, 0).cap.flags;
tl                 76 opal/mca/btl/uct/btl_uct_tl.c     uint64_t atomic_flags32 = MCA_BTL_UCT_TL_ATTR(tl, 0).cap.atomic32.fop_flags;
tl                 77 opal/mca/btl/uct/btl_uct_tl.c     uint64_t atomic_flags64 = MCA_BTL_UCT_TL_ATTR(tl, 0).cap.atomic64.fop_flags;
tl                120 opal/mca/btl/uct/btl_uct_tl.c static void mca_btl_uct_module_set_atomic_flags (mca_btl_uct_module_t *module, mca_btl_uct_tl_t *tl)
tl                122 opal/mca/btl/uct/btl_uct_tl.c     uint64_t cap_flags = MCA_BTL_UCT_TL_ATTR(tl, 0).cap.flags;
tl                140 opal/mca/btl/uct/btl_uct_tl.c static void mca_btl_uct_tl_constructor (mca_btl_uct_tl_t *tl)
tl                142 opal/mca/btl/uct/btl_uct_tl.c     memset ((void *)((uintptr_t) tl + sizeof (tl->super)), 0, sizeof (*tl) - sizeof (tl->super));
tl                143 opal/mca/btl/uct/btl_uct_tl.c     OBJ_CONSTRUCT(&tl->tl_lock, opal_mutex_t);
tl                146 opal/mca/btl/uct/btl_uct_tl.c static void mca_btl_uct_tl_destructor (mca_btl_uct_tl_t *tl)
tl                148 opal/mca/btl/uct/btl_uct_tl.c     assert (((opal_object_t *) tl)->obj_reference_count == 0);
tl                151 opal/mca/btl/uct/btl_uct_tl.c         if (NULL != tl->uct_dev_contexts[context_id]) {
tl                152 opal/mca/btl/uct/btl_uct_tl.c             mca_btl_uct_context_destroy (tl->uct_dev_contexts[context_id]);
tl                156 opal/mca/btl/uct/btl_uct_tl.c     if (tl->uct_md) {
tl                157 opal/mca/btl/uct/btl_uct_tl.c         OBJ_RELEASE(tl->uct_md);
tl                160 opal/mca/btl/uct/btl_uct_tl.c     free (tl->uct_dev_contexts);
tl                161 opal/mca/btl/uct/btl_uct_tl.c     free (tl->uct_tl_name);
tl                162 opal/mca/btl/uct/btl_uct_tl.c     free (tl->uct_dev_name);
tl                164 opal/mca/btl/uct/btl_uct_tl.c     if (NULL != tl->uct_tl_config) {
tl                165 opal/mca/btl/uct/btl_uct_tl.c         uct_config_release (tl->uct_tl_config);
tl                168 opal/mca/btl/uct/btl_uct_tl.c     OBJ_DESTRUCT(&tl->tl_lock);
tl                272 opal/mca/btl/uct/btl_uct_tl.c mca_btl_uct_device_context_t *mca_btl_uct_context_create (mca_btl_uct_module_t *module, mca_btl_uct_tl_t *tl, int context_id, bool enable_progress)
tl                278 opal/mca/btl/uct/btl_uct_tl.c                                        .mode = {.device = {.tl_name = tl->uct_tl_name,
tl                279 opal/mca/btl/uct/btl_uct_tl.c                                                            .dev_name = tl->uct_dev_name}}};
tl                283 opal/mca/btl/uct/btl_uct_tl.c                                        .mode = {.device = {.tl_name = tl->uct_tl_name,
tl                284 opal/mca/btl/uct/btl_uct_tl.c                                                            .dev_name = tl->uct_dev_name}}};
tl                321 opal/mca/btl/uct/btl_uct_tl.c     ucs_status = uct_iface_open (tl->uct_md->uct_md, context->uct_worker, &iface_params,
tl                322 opal/mca/btl/uct/btl_uct_tl.c                                  tl->uct_tl_config, &context->uct_iface);
tl                337 opal/mca/btl/uct/btl_uct_tl.c     if (context_id > 0 && tl == module->am_tl) {
tl                338 opal/mca/btl/uct/btl_uct_tl.c       BTL_VERBOSE(("installing AM handler for tl %p context id %d", (void *) tl, context_id));
tl                344 opal/mca/btl/uct/btl_uct_tl.c         BTL_VERBOSE(("enabling progress for tl %p context id %d", (void *) tl, context_id));
tl                378 opal/mca/btl/uct/btl_uct_tl.c     mca_btl_uct_tl_t *tl = OBJ_NEW(mca_btl_uct_tl_t);
tl                380 opal/mca/btl/uct/btl_uct_tl.c     if (OPAL_UNLIKELY(NULL == tl)) {
tl                385 opal/mca/btl/uct/btl_uct_tl.c     tl->uct_md = md;
tl                388 opal/mca/btl/uct/btl_uct_tl.c     tl->uct_tl_name = strdup (tl_desc->tl_name);
tl                389 opal/mca/btl/uct/btl_uct_tl.c     tl->uct_dev_name = strdup (tl_desc->dev_name);
tl                390 opal/mca/btl/uct/btl_uct_tl.c     tl->priority = priority;
tl                392 opal/mca/btl/uct/btl_uct_tl.c     tl->uct_dev_contexts = calloc (MCA_BTL_UCT_MAX_WORKERS, sizeof (tl->uct_dev_contexts[0]));
tl                393 opal/mca/btl/uct/btl_uct_tl.c     if (NULL == tl->uct_dev_contexts) {
tl                394 opal/mca/btl/uct/btl_uct_tl.c         OBJ_RELEASE(tl);
tl                398 opal/mca/btl/uct/btl_uct_tl.c     (void) uct_md_iface_config_read (md->uct_md, tl_desc->tl_name, NULL, NULL, &tl->uct_tl_config);
tl                401 opal/mca/btl/uct/btl_uct_tl.c     tl->uct_dev_contexts[0] = mca_btl_uct_context_create (module, tl, 0, false);
tl                402 opal/mca/btl/uct/btl_uct_tl.c     if (NULL == tl->uct_dev_contexts[0]) {
tl                404 opal/mca/btl/uct/btl_uct_tl.c         OBJ_RELEASE(tl);
tl                409 opal/mca/btl/uct/btl_uct_tl.c                  (unsigned long) MCA_BTL_UCT_TL_ATTR(tl, 0).cap.flags));
tl                411 opal/mca/btl/uct/btl_uct_tl.c     return tl;
tl                414 opal/mca/btl/uct/btl_uct_tl.c static void mca_btl_uct_set_tl_rdma (mca_btl_uct_module_t *module, mca_btl_uct_tl_t *tl)
tl                416 opal/mca/btl/uct/btl_uct_tl.c     BTL_VERBOSE(("tl %s is suitable for RDMA", tl->uct_tl_name));
tl                418 opal/mca/btl/uct/btl_uct_tl.c     mca_btl_uct_module_set_atomic_flags (module, tl);
tl                420 opal/mca/btl/uct/btl_uct_tl.c     module->super.btl_get_limit = MCA_BTL_UCT_TL_ATTR(tl, 0).cap.get.max_zcopy;
tl                421 opal/mca/btl/uct/btl_uct_tl.c     if (MCA_BTL_UCT_TL_ATTR(tl, 0).cap.get.max_bcopy) {
tl                423 opal/mca/btl/uct/btl_uct_tl.c         module->super.btl_get_local_registration_threshold = MCA_BTL_UCT_TL_ATTR(tl, 0).cap.get.max_bcopy;
tl                426 opal/mca/btl/uct/btl_uct_tl.c         module->super.btl_get_alignment = opal_next_poweroftwo_inclusive (MCA_BTL_UCT_TL_ATTR(tl, 0).cap.get.min_zcopy);
tl                429 opal/mca/btl/uct/btl_uct_tl.c     module->super.btl_put_limit = MCA_BTL_UCT_TL_ATTR(tl, 0).cap.put.max_zcopy;
tl                433 opal/mca/btl/uct/btl_uct_tl.c     module->super.btl_put_local_registration_threshold = MCA_BTL_UCT_TL_ATTR(tl, 0).cap.put.max_bcopy;
tl                435 opal/mca/btl/uct/btl_uct_tl.c     module->rdma_tl = tl;
tl                436 opal/mca/btl/uct/btl_uct_tl.c     OBJ_RETAIN(tl);
tl                438 opal/mca/btl/uct/btl_uct_tl.c     tl->tl_index = (module->am_tl && tl != module->am_tl) ? 1 : 0;
tl                439 opal/mca/btl/uct/btl_uct_tl.c     module->comm_tls[tl->tl_index] = tl;
tl                440 opal/mca/btl/uct/btl_uct_tl.c     if (tl->max_device_contexts <= 1) {
tl                441 opal/mca/btl/uct/btl_uct_tl.c 	tl->max_device_contexts = mca_btl_uct_component.num_contexts_per_module;
tl                445 opal/mca/btl/uct/btl_uct_tl.c static void mca_btl_uct_set_tl_am (mca_btl_uct_module_t *module, mca_btl_uct_tl_t *tl)
tl                447 opal/mca/btl/uct/btl_uct_tl.c     BTL_VERBOSE(("tl %s is suitable for active-messaging", tl->uct_tl_name));
tl                449 opal/mca/btl/uct/btl_uct_tl.c     if (module->rdma_tl == tl) {
tl                452 opal/mca/btl/uct/btl_uct_tl.c     module->am_tl = tl;
tl                453 opal/mca/btl/uct/btl_uct_tl.c     OBJ_RETAIN(tl);
tl                455 opal/mca/btl/uct/btl_uct_tl.c     uct_iface_set_am_handler (tl->uct_dev_contexts[0]->uct_iface, MCA_BTL_UCT_FRAG,
tl                456 opal/mca/btl/uct/btl_uct_tl.c                               mca_btl_uct_am_handler, tl->uct_dev_contexts[0], UCT_CB_FLAG_ASYNC);
tl                458 opal/mca/btl/uct/btl_uct_tl.c     tl->tl_index = (module->rdma_tl && tl != module->rdma_tl) ? 1 : 0;
tl                459 opal/mca/btl/uct/btl_uct_tl.c     module->comm_tls[tl->tl_index] = tl;
tl                460 opal/mca/btl/uct/btl_uct_tl.c     if (tl->max_device_contexts <= 1) {
tl                461 opal/mca/btl/uct/btl_uct_tl.c 	tl->max_device_contexts = mca_btl_uct_component.num_contexts_per_module;
tl                464 opal/mca/btl/uct/btl_uct_tl.c     module->super.btl_max_send_size = MCA_BTL_UCT_TL_ATTR(tl, 0).cap.am.max_zcopy - sizeof (mca_btl_uct_am_header_t);
tl                465 opal/mca/btl/uct/btl_uct_tl.c     module->super.btl_eager_limit = MCA_BTL_UCT_TL_ATTR(tl, 0).cap.am.max_bcopy - sizeof (mca_btl_uct_am_header_t);
tl                468 opal/mca/btl/uct/btl_uct_tl.c static int mca_btl_uct_set_tl_conn (mca_btl_uct_module_t *module, mca_btl_uct_tl_t *tl)
tl                472 opal/mca/btl/uct/btl_uct_tl.c     BTL_VERBOSE(("tl %s is suitable for making connections", tl->uct_tl_name));
tl                474 opal/mca/btl/uct/btl_uct_tl.c     module->conn_tl = tl;
tl                480 opal/mca/btl/uct/btl_uct_tl.c     OBJ_RETAIN(tl);
tl                482 opal/mca/btl/uct/btl_uct_tl.c     if (!tl->max_device_contexts) {
tl                485 opal/mca/btl/uct/btl_uct_tl.c 	tl->max_device_contexts = 1;
tl                491 opal/mca/btl/uct/btl_uct_tl.c static int mca_btl_uct_evaluate_tl (mca_btl_uct_module_t *module, mca_btl_uct_tl_t *tl)
tl                495 opal/mca/btl/uct/btl_uct_tl.c     BTL_VERBOSE(("evaluating tl %s", tl->uct_tl_name));
tl                496 opal/mca/btl/uct/btl_uct_tl.c     if (NULL == module->rdma_tl && mca_btl_uct_tl_supports_rdma (tl)) {
tl                497 opal/mca/btl/uct/btl_uct_tl.c 	mca_btl_uct_set_tl_rdma (module, tl);
tl                500 opal/mca/btl/uct/btl_uct_tl.c     if (NULL == module->am_tl && mca_btl_uct_tl_support_am (tl)) {
tl                501 opal/mca/btl/uct/btl_uct_tl.c 	mca_btl_uct_set_tl_am (module, tl);
tl                504 opal/mca/btl/uct/btl_uct_tl.c     if (NULL == module->conn_tl && mca_btl_uct_tl_supports_conn (tl)) {
tl                505 opal/mca/btl/uct/btl_uct_tl.c 	rc = mca_btl_uct_set_tl_conn (module, tl);
tl                511 opal/mca/btl/uct/btl_uct_tl.c     if (tl == module->rdma_tl || tl == module->am_tl) {
tl                512 opal/mca/btl/uct/btl_uct_tl.c         BTL_VERBOSE(("tl has flags 0x%" PRIx64, MCA_BTL_UCT_TL_ATTR(tl, 0).cap.flags));
tl                513 opal/mca/btl/uct/btl_uct_tl.c         module->super.btl_flags |= mca_btl_uct_module_flags (MCA_BTL_UCT_TL_ATTR(tl, 0).cap.flags);
tl                519 opal/mca/btl/uct/btl_uct_tl.c 	module->super.btl_bandwidth = (uint32_t) (MCA_BTL_UCT_TL_ATTR(tl, 0).bandwidth / 1048576.0);
tl                524 opal/mca/btl/uct/btl_uct_tl.c     if (tl == module->rdma_tl || tl == module->am_tl || tl == module->conn_tl) {
tl                526 opal/mca/btl/uct/btl_uct_tl.c         mca_btl_uct_context_enable_progress (tl->uct_dev_contexts[0]);
tl                535 opal/mca/btl/uct/btl_uct_tl.c     mca_btl_uct_tl_t *tl;
tl                591 opal/mca/btl/uct/btl_uct_tl.c 	tl = mca_btl_uct_create_tl (module, md, tl_descs + i, priority);
tl                593 opal/mca/btl/uct/btl_uct_tl.c 	if (tl) {
tl                594 opal/mca/btl/uct/btl_uct_tl.c 	    opal_list_append (&tl_list, &tl->super);
tl                608 opal/mca/btl/uct/btl_uct_tl.c     OPAL_LIST_FOREACH(tl, &tl_list, mca_btl_uct_tl_t) {
tl                609 opal/mca/btl/uct/btl_uct_tl.c 	mca_btl_uct_evaluate_tl (module, tl);
tl                333 opal/mca/btl/uct/btl_uct_types.h #define MCA_BTL_UCT_TL_ATTR(tl, context_id) (tl)->uct_dev_contexts[(context_id)]->uct_iface_attr