/illumos-gate/usr/src/uts/common/io/ib/mgt/ibmf/ |
H A D | ibmf_timers.c | 39 ibmf_i_set_timer(void (*func)(void *), ibmf_msg_impl_t *msgimplp, in ibmf_i_set_timer() argument 45 ASSERT(MUTEX_HELD(&msgimplp->im_mutex)); in ibmf_i_set_timer() 50 tnf_opaque, msgimplp, msgimplp, tnf_opaque, timer_type, type, in ibmf_i_set_timer() 63 ASSERT(msgimplp->im_rp_timeout_id == 0); in ibmf_i_set_timer() 64 interval = msgimplp->im_retrans.retrans_rtv + in ibmf_i_set_timer() 65 msgimplp->im_retrans.retrans_rttv; in ibmf_i_set_timer() 72 tnf_uint, resp_time, msgimplp->im_retrans.retrans_rtv, in ibmf_i_set_timer() 73 tnf_uint, interval, msgimplp->im_retrans.retrans_rttv); in ibmf_i_set_timer() 75 msgimplp->im_rp_timeout_id = timeout(func, in ibmf_i_set_timer() 76 (void *)msgimplp, drv_usectohz(interval)); in ibmf_i_set_timer() [all …]
|
H A D | ibmf_msg.c | 40 ibmf_i_client_add_msg(ibmf_client_t *clientp, ibmf_msg_impl_t *msgimplp) in ibmf_i_client_add_msg() argument 45 tnf_opaque, clientp, clientp, tnf_opaque, msg, msgimplp); in ibmf_i_client_add_msg() 47 ASSERT(MUTEX_NOT_HELD(&msgimplp->im_mutex)); in ibmf_i_client_add_msg() 56 mutex_enter(&msgimplp->im_mutex); in ibmf_i_client_add_msg() 57 if (msgimplp->im_flags & IBMF_MSG_FLAGS_TERMINATION) { in ibmf_i_client_add_msg() 59 mutex_exit(&msgimplp->im_mutex); in ibmf_i_client_add_msg() 63 msgimplp; in ibmf_i_client_add_msg() 65 msgimplp->im_msg_prev = clientp->ic_term_msg_last; in ibmf_i_client_add_msg() 66 clientp->ic_term_msg_last->im_msg_next = msgimplp; in ibmf_i_client_add_msg() 67 clientp->ic_term_msg_last = msgimplp; in ibmf_i_client_add_msg() [all …]
|
H A D | ibmf_trans.c | 40 ibmf_i_terminate_transaction(ibmf_client_t *clientp, ibmf_msg_impl_t *msgimplp, in ibmf_i_terminate_transaction() argument 48 tnf_opaque, msg, msgimplp, tnf_uint, status, status); in ibmf_i_terminate_transaction() 50 ASSERT(MUTEX_HELD(&msgimplp->im_mutex)); in ibmf_i_terminate_transaction() 52 msgimplp->im_msg_status = status; in ibmf_i_terminate_transaction() 59 ibmf_i_unset_timer(msgimplp, IBMF_TRANS_TIMER); in ibmf_i_terminate_transaction() 67 if (msgimplp->im_unsolicited == B_TRUE) { in ibmf_i_terminate_transaction() 69 msgimplp->im_trans_state_flags |= IBMF_TRANS_STATE_FLAG_DONE; in ibmf_i_terminate_transaction() 79 msgimplp->im_trans_state_flags, in ibmf_i_terminate_transaction() 80 tnf_opaque, flags, msgimplp->im_flags); in ibmf_i_terminate_transaction() 83 msgimplp->im_trans_state_flags |= in ibmf_i_terminate_transaction() [all …]
|
H A D | ibmf_rmpp.c | 39 ibmf_qp_handle_t qp_hdl, ibmf_msg_impl_t *msgimplp, uchar_t *mad); 41 ibmf_qp_handle_t qp_hdl, ibmf_msg_impl_t *msgimplp, uchar_t *mad); 43 ibmf_qp_handle_t qp_hdl, ibmf_msg_impl_t *msgimplp, uchar_t *mad); 45 ibmf_qp_handle_t qp_hdl, ibmf_msg_impl_t *msgimplp, uchar_t *mad); 47 ibmf_qp_handle_t qp_hdl, ibmf_msg_impl_t *msgimplp, uchar_t *mad); 89 ibmf_msg_impl_t *msgimplp, uchar_t *mad) in ibmf_i_rmpp_sender_active_flow() argument 91 ibmf_rmpp_ctx_t *rmpp_ctx = &msgimplp->im_rmpp_ctx; in ibmf_i_rmpp_sender_active_flow() 100 tnf_opaque, qp_hdl, qp_hdl, tnf_opaque, msg, msgimplp, in ibmf_i_rmpp_sender_active_flow() 123 ibmf_i_send_rmpp_window(msgimplp, IBMF_NO_BLOCK); in ibmf_i_rmpp_sender_active_flow() 144 status = ibmf_i_send_rmpp(msgimplp, in ibmf_i_rmpp_sender_active_flow() [all …]
|
H A D | ibmf_send.c | 40 ibmf_msg_impl_t *msgimplp, ibmf_send_wqe_t *send_wqep); 47 ibmf_i_issue_pkt(ibmf_client_t *clientp, ibmf_msg_impl_t *msgimplp, in ibmf_i_issue_pkt() argument 62 tnf_opaque, msg, msgimplp, tnf_opaque, ibmf_qp_handle, in ibmf_i_issue_pkt() 65 ASSERT(MUTEX_HELD(&msgimplp->im_mutex)); in ibmf_i_issue_pkt() 82 ibmf_i_init_send_wqe(clientp, msgimplp, sgl, send_wqep, in ibmf_i_issue_pkt() 83 msgimplp->im_ud_dest, ibt_qp_handle, ibmf_qp_handle); in ibmf_i_issue_pkt() 139 ibmf_msg_impl_t *msgimplp, int block) in ibmf_i_send_pkt() argument 148 tnf_opaque, qp_hdl, ibmf_qp_handle, tnf_opaque, msg, msgimplp, in ibmf_i_send_pkt() 151 ASSERT(MUTEX_HELD(&msgimplp->im_mutex)); in ibmf_i_send_pkt() 159 msgimplp->im_trans_state_flags &= ~IBMF_TRANS_STATE_FLAG_SEND_DONE; in ibmf_i_send_pkt() [all …]
|
H A D | ibmf_dr.c | 38 ibmf_msg_impl_t *msgimplp, int blocking); 40 ibmf_msg_impl_t *msgimplp, int blocking); 47 ibmf_i_check_for_loopback(ibmf_msg_impl_t *msgimplp, ibmf_msg_cb_t msg_cb, in ibmf_i_check_for_loopback() argument 53 ibmf_ci_t *cip = ((ibmf_client_t *)msgimplp->im_client)->ic_myci; in ibmf_i_check_for_loopback() 58 tnf_opaque, msg, msgimplp); in ibmf_i_check_for_loopback() 61 dr_hdr = (sm_dr_mad_hdr_t *)msgimplp->im_msgbufs_send.im_bufs_mad_hdr; in ibmf_i_check_for_loopback() 82 ibmf_i_init_msg(msgimplp, msg_cb, msg_cb_args, retrans, in ibmf_i_check_for_loopback() 85 status = ibmf_i_dr_loopback_filter(msgimplp->im_client, in ibmf_i_check_for_loopback() 86 msgimplp, blocking); in ibmf_i_check_for_loopback() 114 ibmf_i_dr_loopback_term(ibmf_client_t *clientp, ibmf_msg_impl_t *msgimplp, in ibmf_i_dr_loopback_term() argument [all …]
|
H A D | ibmf_recv.c | 73 ibmf_msg_impl_t *msgimplp, uchar_t *mad); 431 ibmf_msg_impl_t *msgimplp; in ibmf_i_do_recv_cb() local 507 msgimplp = ibmf_i_find_msg(clientp, b2h64(mad_hdr->TransactionID), in ibmf_i_do_recv_cb() 515 if (msgimplp == NULL) { in ibmf_i_do_recv_cb() 516 msgimplp = ibmf_i_find_msg(clientp, in ibmf_i_do_recv_cb() 522 if (msgimplp != NULL) { in ibmf_i_do_recv_cb() 543 mutex_enter(&msgimplp->im_mutex); in ibmf_i_do_recv_cb() 548 if (msgimplp->im_rp_timeout_id != 0) { in ibmf_i_do_recv_cb() 549 ibmf_i_unset_timer(msgimplp, IBMF_RESP_TIMER); in ibmf_i_do_recv_cb() 558 (msgimplp->im_flags & IBMF_MSG_FLAGS_RECV_RMPP) && in ibmf_i_do_recv_cb() [all …]
|
H A D | ibmf_impl.c | 1939 ibmf_msg_impl_t *msgimplp; in ibmf_i_alloc_msg() local 1948 msgimplp = (ibmf_msg_impl_t *)kmem_zalloc(sizeof (ibmf_msg_impl_t), in ibmf_i_alloc_msg() 1950 if (msgimplp != NULL) { in ibmf_i_alloc_msg() 1964 *msgp = msgimplp; in ibmf_i_alloc_msg() 1976 ibmf_i_free_msg(ibmf_msg_impl_t *msgimplp) in ibmf_i_free_msg() argument 1978 ibmf_msg_bufs_t *msgbufp = &msgimplp->im_msgbufs_recv; in ibmf_i_free_msg() 1979 ibmf_client_t *clientp = (ibmf_client_t *)msgimplp->im_client; in ibmf_i_free_msg() 1984 "ibmf_i_free_msg() enter, msg = %p\n", tnf_opaque, msg, msgimplp); in ibmf_i_free_msg() 1987 if (msgimplp->im_ibmf_ud_dest != NULL) { in ibmf_i_free_msg() 1988 ibmf_i_free_ud_dest(clientp, msgimplp); in ibmf_i_free_msg() [all …]
|
H A D | ibmf_ud_dest.c | 325 ibmf_i_alloc_ud_dest(ibmf_client_t *clientp, ibmf_msg_impl_t *msgimplp, in ibmf_i_alloc_ud_dest() argument 338 tnf_opaque, clientp, clientp, tnf_opaque, msg, msgimplp, in ibmf_i_alloc_ud_dest() 344 addrp = &msgimplp->im_local_addr; in ibmf_i_alloc_ud_dest() 364 if (msgimplp->im_msg_flags & IBMF_MSG_FLAGS_GLOBAL_ADDRESS) { in ibmf_i_alloc_ud_dest() 366 adds_vec.av_flow = msgimplp->im_global_addr.ig_flow_label; in ibmf_i_alloc_ud_dest() 368 adds_vec.av_tclass = msgimplp->im_global_addr.ig_tclass; in ibmf_i_alloc_ud_dest() 369 adds_vec.av_hop = msgimplp->im_global_addr.ig_hop_limit; in ibmf_i_alloc_ud_dest() 370 if (msgimplp->im_unsolicited == B_TRUE) { in ibmf_i_alloc_ud_dest() 372 msgimplp->im_global_addr.ig_recver_gid; in ibmf_i_alloc_ud_dest() 374 msgimplp->im_global_addr.ig_sender_gid; in ibmf_i_alloc_ud_dest() [all …]
|
H A D | ibmf.c | 844 ibmf_msg_impl_t *msgimplp; in ibmf_msg_transport() local 858 _NOTE(NOW_INVISIBLE_TO_OTHER_THREADS(*msgp,*msgimplp)) in ibmf_msg_transport() 950 msgimplp = (ibmf_msg_impl_t *)msgp; in ibmf_msg_transport() 952 ASSERT(msgimplp->im_client != NULL); in ibmf_msg_transport() 953 ASSERT(msgimplp->im_client == clientp); in ibmf_msg_transport() 955 msgimplp->im_transp_op_flags = flags; in ibmf_msg_transport() 957 mutex_enter(&msgimplp->im_mutex); in ibmf_msg_transport() 960 if (msgimplp->im_msgbufs_send.im_bufs_mad_hdr == NULL) { in ibmf_msg_transport() 961 mutex_exit(&msgimplp->im_mutex); in ibmf_msg_transport() 974 (msgimplp->im_msgbufs_send.im_bufs_mad_hdr == NULL)) { in ibmf_msg_transport() [all …]
|
H A D | ibmf_wqe.c | 845 ibmf_i_init_send_wqe(ibmf_client_t *clientp, ibmf_msg_impl_t *msgimplp, in ibmf_i_init_send_wqe() argument 849 ibmf_msg_bufs_t *ipbufs = &msgimplp->im_msgbufs_send; in ibmf_i_init_send_wqe() 852 ibmf_rmpp_ctx_t *rmpp_ctx = &msgimplp->im_rmpp_ctx; in ibmf_i_init_send_wqe() 862 tnf_opaque, clientp, clientp, tnf_opaque, msg, msgimplp, in ibmf_i_init_send_wqe() 878 wqep->send_msg = msgimplp; in ibmf_i_init_send_wqe() 884 if (msgimplp->im_flags & IBMF_MSG_FLAGS_SEND_RMPP) { in ibmf_i_init_send_wqe() 902 if ((msgimplp->im_flags & IBMF_MSG_FLAGS_SEQUENCED) && in ibmf_i_init_send_wqe() 903 ((msgimplp->im_flags & IBMF_MSG_FLAGS_TERMINATION) == 0)) { in ibmf_i_init_send_wqe() 904 hdr_ipbufs = &msgimplp->im_msgbufs_send; in ibmf_i_init_send_wqe() 905 } else if (msgimplp->im_flags & IBMF_MSG_FLAGS_RECV_RMPP) { in ibmf_i_init_send_wqe() [all …]
|
/illumos-gate/usr/src/uts/common/sys/ib/mgt/ibmf/ |
H A D | ibmf_impl.h | 641 ibmf_msg_impl_t *msgimplp, ibt_ud_dest_hdl_t *ud_dest_p, boolean_t block); 643 ibmf_msg_impl_t *msgimplp); 652 void ibmf_i_free_send_resources(ibmf_ci_t *cip, ibmf_msg_impl_t *msgimplp, 659 int ibmf_i_check_for_loopback(ibmf_msg_impl_t *msgimplp, ibmf_msg_cb_t msgp, 664 ibmf_msg_impl_t *msgimplp, int block); 666 ibmf_qp_handle_t ibmf_qp_handle, ibmf_msg_impl_t *msgimplp, int block); 672 ibmf_msg_impl_t *msgimplp, ibt_wr_ds_t *sglp, ibmf_send_wqe_t *wqep, 687 void ibmf_i_init_msg(ibmf_msg_impl_t *msgimplp, ibmf_msg_cb_t trans_cb, 689 void ibmf_i_client_add_msg(ibmf_client_t *clientp, ibmf_msg_impl_t *msgimplp); 690 void ibmf_i_client_rem_msg(ibmf_client_t *clientp, ibmf_msg_impl_t *msgimplp, [all …]
|