/illumos-gate/usr/src/lib/udapl/udapl_tavor/common/ |
H A D | dapl_evd_util.c | 60 IN DAPL_EVD *evd_ptr, 67 IN DAPL_EVD *evd_ptr, 101 DAPL_EVD *evd_ptr; in dapls_evd_internal_create() local 109 evd_ptr = dapls_evd_alloc(ia_ptr, in dapls_evd_internal_create() 113 if (!evd_ptr) { in dapls_evd_internal_create() 123 evd_ptr->evd_producer_locking_needed = in dapls_evd_internal_create() 127 evd_ptr->evd_state = DAPL_EVD_STATE_OPEN; in dapls_evd_internal_create() 134 evd_ptr, cno_ptr, &cq_len); in dapls_evd_internal_create() 149 (unsigned int *) evd_ptr->ib_cq_handle, in dapls_evd_internal_create() 151 evd_ptr); in dapls_evd_internal_create() [all …]
|
H A D | dapl_evd_wait.c | 76 DAPL_EVD *evd_ptr; in dapl_evd_wait() local 90 evd_ptr = (DAPL_EVD *)evd_handle; in dapl_evd_wait() 93 if (DAPL_BAD_HANDLE(evd_ptr, DAPL_MAGIC_EVD)) { in dapl_evd_wait() 112 evd_ptr->completion_type != DAPL_EVD_STATE_THRESHOLD)) { in dapl_evd_wait() 116 if (evd_ptr->catastrophic_overflow) { in dapl_evd_wait() 123 evd_ptr, in dapl_evd_wait() 124 (void *)evd_ptr->ib_cq_handle); in dapl_evd_wait() 132 dapl_os_lock(&evd_ptr->header.lock); in dapl_evd_wait() 133 waitable = evd_ptr->evd_waitable; in dapl_evd_wait() 134 evd_state = evd_ptr->evd_state; in dapl_evd_wait() [all …]
|
H A D | dapl_evd_dequeue.c | 72 DAPL_EVD *evd_ptr; in dapl_evd_dequeue() local 81 evd_ptr = (DAPL_EVD *)evd_handle; in dapl_evd_dequeue() 99 dapl_os_lock(&evd_ptr->header.lock); in dapl_evd_dequeue() 105 if (evd_ptr->evd_state != DAPL_EVD_STATE_OPEN || in dapl_evd_dequeue() 106 evd_ptr->catastrophic_overflow) { in dapl_evd_dequeue() 107 dapl_os_unlock(&evd_ptr->header.lock); in dapl_evd_dequeue() 117 if (evd_ptr->pending_event_queue.head != in dapl_evd_dequeue() 118 evd_ptr->pending_event_queue.tail) { in dapl_evd_dequeue() 120 dapls_rbuf_remove(&evd_ptr->pending_event_queue); in dapl_evd_dequeue() 123 dat_status = dapls_rbuf_add(&evd_ptr->free_event_queue, in dapl_evd_dequeue() [all …]
|
H A D | dapl_evd_dto_callb.c | 68 DAPL_EVD *evd_ptr; in dapl_evd_dto_callback() local 78 evd_ptr = (DAPL_EVD *) user_context; in dapl_evd_dto_callback() 81 evd_ptr->header.owner_ia->hca_ptr->ib_hca_handle); in dapl_evd_dto_callback() 82 dapl_os_assert(evd_ptr->ib_cq_handle == cq_handle); in dapl_evd_dto_callback() 83 dapl_os_assert(evd_ptr->header.magic == DAPL_MAGIC_EVD); in dapl_evd_dto_callback() 86 state = *(volatile DAPL_EVD_STATE *) &evd_ptr->evd_state; in dapl_evd_dto_callback() 90 (void *)evd_ptr->ib_cq_handle, in dapl_evd_dto_callback() 116 (void) dapl_os_wait_object_wakeup(&evd_ptr->wait_object); in dapl_evd_dto_callback() 118 DAPL_CNO *cno = evd_ptr->cno_ptr; in dapl_evd_dto_callback() 119 if (evd_ptr->evd_enabled && (evd_ptr->cno_ptr != NULL)) { in dapl_evd_dto_callback() [all …]
|
H A D | dapl_evd_resize.c | 76 DAPL_EVD *evd_ptr; in dapl_evd_resize() local 87 evd_ptr = (DAPL_EVD *)evd_handle; in dapl_evd_resize() 94 if (req_evd_qlen < evd_ptr->qlen) { in dapl_evd_resize() 98 if (req_evd_qlen == evd_ptr->qlen) { in dapl_evd_resize() 102 max_evd_qlen = evd_ptr->header.owner_ia->hca_ptr->ia_attr.max_evd_qlen; in dapl_evd_resize() 134 if (0 != (evd_ptr->evd_flags & ~ (DAT_EVD_SOFTWARE_FLAG | in dapl_evd_resize() 136 dat_status = dapls_ib_cq_resize(evd_ptr, evd_qlen); in dapl_evd_resize() 150 dapls_rbuf_remove(&evd_ptr->pending_event_queue)) { in dapl_evd_resize() 156 dat_status = dapls_rbuf_add(&evd_ptr->free_event_queue, event); in dapl_evd_resize() 160 dapls_rbuf_destroy(&evd_ptr->free_event_queue); in dapl_evd_resize() [all …]
|
H A D | dapl_evd_modify_cno.c | 70 DAPL_EVD *evd_ptr; in dapl_evd_modify_cno() local 75 evd_ptr = (DAPL_EVD *)evd_handle; in dapl_evd_modify_cno() 93 if (cno_ptr == evd_ptr->cno_ptr) { in dapl_evd_modify_cno() 98 if (dapls_ib_modify_cno(evd_ptr, cno_ptr) != DAT_SUCCESS) { in dapl_evd_modify_cno() 103 dapl_os_lock(&evd_ptr->header.lock); in dapl_evd_modify_cno() 104 old_cno_ptr = evd_ptr->cno_ptr; in dapl_evd_modify_cno() 105 evd_ptr->cno_ptr = cno_ptr; in dapl_evd_modify_cno() 106 dapl_os_unlock(&evd_ptr->header.lock); in dapl_evd_modify_cno() 115 &evd_ptr->cno_list_entry); in dapl_evd_modify_cno() 124 &evd_ptr->cno_list_entry, evd_ptr); in dapl_evd_modify_cno() [all …]
|
H A D | dapl_cno_wait.c | 74 DAPL_EVD *evd_ptr, *head_evd_ptr; in dapl_cno_wait() local 99 evd_ptr = (DAPL_EVD *) in dapl_cno_wait() 107 if (dapls_rbuf_count(&evd_ptr->pending_event_queue) > 0) { in dapl_cno_wait() 112 dapls_ib_cq_peek(evd_ptr, &nevents); in dapl_cno_wait() 117 evd_ptr = (DAPL_EVD *) in dapl_cno_wait() 119 &evd_ptr->cno_list_entry); in dapl_cno_wait() 120 if (evd_ptr == NULL) { in dapl_cno_wait() 132 if (evd_ptr != NULL) { in dapl_cno_wait() 133 *evd_handle = evd_ptr; in dapl_cno_wait() 141 dat_status = dapls_ib_cno_wait(cno_ptr, timeout, &evd_ptr); in dapl_cno_wait() [all …]
|
H A D | dapl_evd_free.c | 68 DAPL_EVD *evd_ptr; in dapl_evd_free() local 74 evd_ptr = (DAPL_EVD *)evd_handle; in dapl_evd_free() 81 if (evd_ptr->evd_ref_count != 0) { in dapl_evd_free() 87 dapl_ia_unlink_evd(evd_ptr->header.owner_ia, evd_ptr); in dapl_evd_free() 89 dat_status = dapls_evd_dealloc(evd_ptr); in dapl_evd_free() 91 dapl_ia_link_evd(evd_ptr->header.owner_ia, evd_ptr); in dapl_evd_free()
|
H A D | dapl_evd_query.c | 68 DAPL_EVD *evd_ptr; in dapl_evd_query() local 95 evd_ptr = (DAPL_EVD *) evd_handle; in dapl_evd_query() 108 (evd_ptr->evd_enabled ? DAT_EVD_STATE_ENABLED : in dapl_evd_query() 111 (evd_ptr->evd_waitable ? DAT_EVD_STATE_WAITABLE : in dapl_evd_query() 113 evd_param->ia_handle = evd_ptr->header.owner_ia; in dapl_evd_query() 114 evd_param->evd_qlen = evd_ptr->qlen; in dapl_evd_query() 115 evd_param->cno_handle = (DAT_CNO_HANDLE) evd_ptr->cno_ptr; in dapl_evd_query() 116 evd_param->evd_flags = evd_ptr->evd_flags; in dapl_evd_query()
|
H A D | dapl_evd_enable.c | 68 DAPL_EVD *evd_ptr; in dapl_evd_enable() local 71 evd_ptr = (DAPL_EVD *)evd_handle; in dapl_evd_enable() 79 evd_ptr->evd_enabled = DAT_TRUE; in dapl_evd_enable() 82 if (evd_ptr->cno_ptr != NULL && in dapl_evd_enable() 83 evd_ptr->ib_cq_handle != IB_INVALID_HANDLE) { in dapl_evd_enable() 84 dat_status = DAPL_NOTIFY(evd_ptr)( in dapl_evd_enable() 85 evd_ptr->ib_cq_handle, IB_NOTIFY_ON_NEXT_COMP, 0); in dapl_evd_enable()
|
H A D | dapl_evd_set_unwaitable.c | 65 DAPL_EVD *evd_ptr; in dapl_evd_set_unwaitable() local 68 evd_ptr = (DAPL_EVD *)evd_handle; in dapl_evd_set_unwaitable() 75 dapl_os_lock(&evd_ptr->header.lock); in dapl_evd_set_unwaitable() 76 evd_ptr->evd_waitable = DAT_FALSE; in dapl_evd_set_unwaitable() 77 dapl_os_unlock(&evd_ptr->header.lock); in dapl_evd_set_unwaitable() 85 if (evd_ptr->evd_state == DAPL_EVD_STATE_WAITED) { in dapl_evd_set_unwaitable() 86 (void) dapl_os_wait_object_wakeup(&evd_ptr->wait_object); in dapl_evd_set_unwaitable()
|
H A D | dapl_ia_open.c | 181 DAPL_EVD *evd_ptr; in dapl_ia_open() local 334 evd_ptr = (DAPL_EVD *) *async_evd_handle_ptr; in dapl_ia_open() 335 if (evd_ptr) { in dapl_ia_open() 336 if (DAPL_BAD_HANDLE(evd_ptr, DAPL_MAGIC_EVD) || in dapl_ia_open() 337 ! (evd_ptr->evd_flags & DAT_EVD_ASYNC_FLAG)) { in dapl_ia_open() 351 if (evd_ptr->header.owner_ia->hca_ptr->ib_hca_handle != in dapl_ia_open() 359 ia_ptr->async_error_evd = evd_ptr; in dapl_ia_open() 374 &evd_ptr); in dapl_ia_open() 379 dapl_os_atomic_inc(&evd_ptr->evd_ref_count); in dapl_ia_open() 395 dapl_os_atomic_dec(&evd_ptr->evd_ref_count); in dapl_ia_open() [all …]
|
H A D | dapl_evd_connection_callb.c | 75 DAPL_EVD *evd_ptr; in dapl_evd_connection_callback() local 98 evd_ptr = (DAPL_EVD *)ep_ptr->param.connect_evd_handle; in dapl_evd_connection_callback() 127 evd_ptr, in dapl_evd_connection_callback() 170 if (evd_ptr != NULL) { in dapl_evd_connection_callback() 172 evd_ptr, event_type, (DAT_HANDLE) ep_ptr, 0, 0); in dapl_evd_connection_callback() 189 evd_ptr, in dapl_evd_connection_callback() 201 evd_ptr, in dapl_evd_connection_callback() 215 evd_ptr, in dapl_evd_connection_callback() 227 evd_ptr, in dapl_evd_connection_callback()
|
H A D | dapl_cr_callback.c | 59 IN DAPL_EVD *evd_ptr); 91 DAPL_EVD *evd_ptr; in dapls_cr_callback() local 127 evd_ptr = sp_ptr->evd_handle; in dapls_cr_callback() 131 evd_ptr = (DAPL_EVD *) ep_ptr->param.connect_evd_handle; in dapls_cr_callback() 134 ep_ptr, evd_ptr); in dapls_cr_callback() 170 sp_ptr, prd_ptr, evd_ptr); in dapls_cr_callback() 197 evd_ptr, in dapls_cr_callback() 242 if (evd_ptr != NULL) { in dapls_cr_callback() 244 evd_ptr, event_type, (DAT_HANDLE) ep_ptr, 0, 0); in dapls_cr_callback() 262 evd_ptr, in dapls_cr_callback() [all …]
|
H A D | dapl_evd_create.c | 88 DAPL_EVD *evd_ptr; in dapl_evd_create() local 108 evd_ptr = NULL; in dapl_evd_create() 165 &evd_ptr); in dapl_evd_create() 170 evd_ptr->evd_state = DAPL_EVD_STATE_OPEN; in dapl_evd_create() 172 *evd_handle = (DAT_EVD_HANDLE) evd_ptr; in dapl_evd_create() 176 if (evd_ptr) { in dapl_evd_create() 177 (void) dapl_evd_free(evd_ptr); in dapl_evd_create()
|
H A D | dapl_evd_clear_unwaitable.c | 65 DAPL_EVD *evd_ptr; in dapl_evd_clear_unwaitable() local 68 evd_ptr = (DAPL_EVD *)evd_handle; in dapl_evd_clear_unwaitable() 75 dapl_os_lock(&evd_ptr->header.lock); in dapl_evd_clear_unwaitable() 76 evd_ptr->evd_waitable = DAT_TRUE; in dapl_evd_clear_unwaitable() 77 dapl_os_unlock(&evd_ptr->header.lock); in dapl_evd_clear_unwaitable()
|
H A D | dapl_ia_util.c | 144 DAPL_EVD *evd_ptr, *next_evd_ptr; in dapl_ia_abrupt_close() local 264 evd_ptr = (dapl_llist_is_empty(&ia_ptr->evd_list_head) in dapl_ia_abrupt_close() 266 while (evd_ptr != NULL) { in dapl_ia_abrupt_close() 268 &evd_ptr->header.ia_list_entry); in dapl_ia_abrupt_close() 269 if (evd_ptr == ia_ptr->async_error_evd) { in dapl_ia_abrupt_close() 274 (void) dapl_evd_disable(evd_ptr); in dapl_ia_abrupt_close() 275 (void) dapl_evd_modify_cno(evd_ptr, in dapl_ia_abrupt_close() 279 dat_status = dapl_evd_free(evd_ptr); in dapl_ia_abrupt_close() 284 evd_ptr, in dapl_ia_abrupt_close() 288 evd_ptr = next_evd_ptr; in dapl_ia_abrupt_close() [all …]
|
H A D | dapl_evd_post_se.c | 71 DAPL_EVD *evd_ptr; in dapl_evd_post_se() local 74 evd_ptr = (DAPL_EVD *)evd_handle; in dapl_evd_post_se() 82 if (!(evd_ptr->evd_flags & DAT_EVD_SOFTWARE_FLAG)) { in dapl_evd_post_se() 98 evd_ptr, in dapl_evd_post_se()
|
H A D | dapl_ep_connect.c | 287 DAPL_EVD *evd_ptr; in dapl_ep_connect() local 292 evd_ptr = (DAPL_EVD *)ep_ptr->param.connect_evd_handle; in dapl_ep_connect() 293 if (evd_ptr != NULL) { in dapl_ep_connect() 294 (void) dapls_evd_post_connection_event(evd_ptr, in dapl_ep_connect() 303 evd_ptr = (DAPL_EVD *)ep_ptr->param.connect_evd_handle; in dapl_ep_connect() 304 if (evd_ptr != NULL) { in dapl_ep_connect() 305 (void) dapls_evd_post_connection_event(evd_ptr, in dapl_ep_connect()
|
H A D | dapl_evd_disable.c | 66 DAPL_EVD *evd_ptr; in dapl_evd_disable() local 69 evd_ptr = (DAPL_EVD *)evd_handle; in dapl_evd_disable() 77 evd_ptr->evd_enabled = DAT_FALSE; in dapl_evd_disable()
|
H A D | dapl_osd.c | 371 DAPL_EVD *evd_ptr; in dapls_osd_fork_cleanup() local 491 evd_ptr = (DAPL_EVD *) dapl_llist_peek_head( in dapls_osd_fork_cleanup() 493 dapl_ia_unlink_evd(evd_ptr->header.owner_ia, in dapls_osd_fork_cleanup() 494 evd_ptr); in dapls_osd_fork_cleanup() 499 evd_ptr->ib_cq_handle = IB_INVALID_HANDLE; in dapls_osd_fork_cleanup() 500 (void) dapls_evd_dealloc(evd_ptr); in dapls_osd_fork_cleanup()
|
H A D | dapl_ep_util.c | 487 DAPL_EVD *evd_ptr; in dapl_ep_create_common() local 664 evd_ptr = (DAPL_EVD *)recv_evd_handle; in dapl_ep_create_common() 665 if (evd_ptr->completion_type == DAPL_EVD_STATE_INIT) { in dapl_ep_create_common() 669 evd_ptr->completion_type = DAPL_EVD_STATE_THRESHOLD; in dapl_ep_create_common() 676 evd_ptr->completion_type = DAPL_EVD_STATE_THRESHOLD; in dapl_ep_create_common() 679 evd_ptr = (DAPL_EVD *)request_evd_handle; in dapl_ep_create_common() 680 if (evd_ptr->completion_type == DAPL_EVD_STATE_INIT) { in dapl_ep_create_common() 684 evd_ptr->completion_type = DAPL_EVD_STATE_THRESHOLD; in dapl_ep_create_common() 691 evd_ptr->completion_type = DAPL_EVD_STATE_THRESHOLD; in dapl_ep_create_common()
|
/illumos-gate/usr/src/lib/udapl/udapl_tavor/tavor/ |
H A D | dapl_tavor_ibtf_util.c | 70 IN DAPL_EVD *evd_ptr, in dapls_ib_cq_alloc() argument 89 evd_ptr); in dapls_ib_cq_alloc() 97 create_msg.evd_flags = evd_ptr->evd_flags; in dapls_ib_cq_alloc() 98 create_msg.evd_cookie = (uintptr_t)evd_ptr; in dapls_ib_cq_alloc() 103 if (evd_ptr->evd_flags & (DAT_EVD_DTO_FLAG | DAT_EVD_RMR_BIND_FLAG)) { in dapls_ib_cq_alloc() 109 " cno_hkey 0x%llx, cq_size %d\n", evd_ptr, in dapls_ib_cq_alloc() 132 "cq_alloc: created, evd 0x%p, hkey 0x%016llx\n\n", evd_ptr, in dapls_ib_cq_alloc() 137 if (evd_ptr->evd_flags & (DAT_EVD_DTO_FLAG | DAT_EVD_RMR_BIND_FLAG)) { in dapls_ib_cq_alloc() 212 evd_ptr->ib_cq_handle = cq_handle; in dapls_ib_cq_alloc() 237 IN DAPL_EVD *evd_ptr, in dapls_ib_cq_resize() argument [all …]
|
/illumos-gate/usr/src/lib/udapl/udapl_tavor/include/ |
H A D | dapl_evd_util.h | 67 IN DAPL_EVD *evd_ptr); 82 IN DAPL_EVD *evd_ptr, 91 IN DAPL_EVD *evd_ptr, 99 IN DAPL_EVD *evd_ptr, 105 IN DAPL_EVD *evd_ptr, 151 IN DAPL_EVD *evd_ptr, 155 DAPL_EVD *evd_ptr, 162 IN DAPL_EVD *evd_ptr,
|
H A D | dapl_adapter_util.h | 143 IN DAPL_EVD *evd_ptr, 149 IN DAPL_EVD *evd_ptr, 155 IN DAPL_EVD *evd_ptr); 159 IN DAPL_EVD *evd_ptr); 164 IN DAPL_EVD *evd_ptr, 269 IN DAPL_EVD *evd_ptr, 276 IN DAPL_EVD *evd_ptr); 279 IN DAPL_EVD *evd_ptr, 283 IN DAPL_EVD *evd_ptr,
|