Lines Matching defs:ace

125 	ibd_ace_t *ace;
128 ace = rc_chan->ace;
129 ASSERT(ace != NULL);
133 ASSERT(ace->ac_ref != 0);
134 atomic_dec_32(&ace->ac_ref);
135 ace->ac_chan = NULL;
136 if ((ace->ac_ref == 0) || (ace->ac_ref == CYCLEVAL)) {
137 IBD_ACACHE_INSERT_FREE(state, ace);
138 ace->ac_ref = 0;
140 ace->ac_ref |= CYCLEVAL;
152 ibd_ace_t *ace = req->rq_ptr;
155 ASSERT(ace != NULL);
156 rc_chan = ace->ac_chan;
161 ASSERT(ace->ac_ref != 0);
162 atomic_dec_32(&ace->ac_ref);
163 ace->ac_chan = NULL;
164 if ((ace->ac_ref == 0) || (ace->ac_ref == CYCLEVAL)) {
165 IBD_ACACHE_INSERT_FREE(state, ace);
166 ace->ac_ref = 0;
168 ace->ac_ref |= CYCLEVAL;
187 ibd_ace_t *ace = req->rq_ptr2;
285 mutex_enter(&ace->tx_too_big_mutex);
286 ace->tx_too_big_ongoing = B_FALSE;
287 mutex_exit(&ace->tx_too_big_mutex);
293 mutex_enter(&ace->tx_too_big_mutex);
294 ace->tx_too_big_ongoing = B_FALSE;
295 mutex_exit(&ace->tx_too_big_mutex);
306 ibd_ace_t *ace, *pre_ace;
312 ace = list_head(&state->id_ah_active);
313 while ((pre_ace = ace) != NULL) {
314 ace = list_next(&state->id_ah_active, ace);
513 kstat_named_init(&ibd_rc_ksp->rc_ace_not_found, "RC: ace not found",
542 kstat_named_init(&ibd_rc_ksp->rc_delay_ace_recycle, "RC: delay ace "
2112 ibd_ace_t *ace = swqe->w_ahandle;
2115 ASSERT(ace != NULL);
2116 ASSERT(ace->ac_chan != NULL);
2118 state = ace->ac_chan->state;
2153 ibd_rc_release_swqe(ace->ac_chan, swqe);
2160 * The ace can be null if we are cleaning up from the
2163 ibd_dec_ref_ace(state, ace);
2172 ibd_ace_t *ace;
2196 ((ace = ibd_acache_find(state,
2197 &chan->ace->ac_mac, B_FALSE, 0))
2198 != NULL) && (ace == chan->ace)) {
2199 ASSERT(ace->ac_mce == NULL);
2200 INC_REF(ace, 1);
2202 state, ace);
2209 "chan=%p, ace=%p, "
2213 chan->ace, chan->state->
2216 state, ace);
2224 "ace=%p, link_state=%d."
2227 chan->chan_state, chan->ace,
2565 ibd_ace_t *ace, *pre_ace;
2606 ace = list_head(&state->id_ah_active);
2607 while ((pre_ace = ace) != NULL) {
2608 ace = list_next(&state->id_ah_active, ace);
2621 ace = rc_chan->ace;
2623 if (ace != NULL) {
2625 ASSERT(ace->ac_ref != 0);
2626 atomic_dec_32(&ace->ac_ref);
2627 ace->ac_chan = NULL;
2628 if ((ace->ac_ref == 0) || (ace->ac_ref == CYCLEVAL)) {
2629 IBD_ACACHE_INSERT_FREE(state, ace);
2630 ace->ac_ref = 0;
2632 ace->ac_ref |= CYCLEVAL;
2651 ibd_rc_try_connect(ibd_state_t *state, ibd_ace_t *ace, ibt_path_info_t *path)
2658 status = ibd_rc_connect(state, ace, path,
2666 status = ibd_rc_connect(state, ace, path,
2675 (void) ibd_rc_connect(state, ace, path,
2681 * Allocates channel and sets the ace->ac_chan to it.
2685 ibd_rc_connect(ibd_state_t *state, ibd_ace_t *ace, ibt_path_info_t *path,
2696 ASSERT(ace != NULL);
2697 ASSERT(ace->ac_mce == NULL);
2698 ASSERT(ace->ac_chan == NULL);
2705 ace->ac_chan = chan;
2707 chan->ace = ace;
2709 ibt_set_chan_private(chan->chan_hdl, (void *)(uintptr_t)ace);
2720 open_args.oc_cm_clnt_private = (void *)(uintptr_t)ace;
2725 if ((status = ibt_query_ud_dest(ace->ac_dest, &dest_attrs))
2772 ace->ac_chan = NULL;
2776 "ret status = %d, reason=%d, ace=%p, mtu=0x%x, qpn=0x%x,"
2777 " peer qpn=0x%x", status, (int)open_returns.rc_status, ace,
2785 ibd_rc_signal_act_close(ibd_state_t *state, ibd_ace_t *ace)
2794 ace->ac_chan->next = state->rc_obs_act_chan_list.chan_list;
2795 state->rc_obs_act_chan_list.chan_list = ace->ac_chan;
2798 req->rq_ptr = ace->ac_chan;
2804 ibd_rc_signal_ace_recycle(ibd_state_t *state, ibd_ace_t *ace)
2820 state->rc_ace_recycle = ace;
2822 ASSERT(ace->ac_mce == NULL);
2823 INC_REF(ace, 1);
2824 IBD_ACACHE_PULLOUT_ACTIVE(state, ace);
2825 req->rq_ptr = ace;
2838 ibd_ace_t *ace;
2855 * return all buffers and ace->ac_ref. I tried 25 seconds, it
2860 ace = chan->ace;
2861 ASSERT(ace != NULL);
2868 != chan->scq_size) || ((ace->ac_ref != 1) &&
2869 (ace->ac_ref != (CYCLEVAL+1)))) {
2881 chan->scq_size, ace->ac_ref);
3102 ibd_rc_handle_act_estab(ibd_ace_t *ace)
3106 switch (ace->ac_chan->chan_state) {
3108 ace->ac_chan->chan_state = IBD_RC_STATE_ACT_ESTAB;
3109 result = ibt_enable_cq_notify(ace->ac_chan->rcq_hdl,
3120 "branch, act_state=%d", ace->ac_chan->chan_state);
3163 ibd_ace_t *ace = (ibd_ace_t *)(uintptr_t)arg;
3170 ASSERT(ace->ac_chan != NULL);
3171 ASSERT(ace->ac_chan->chan_state == IBD_RC_STATE_INIT);
3176 ace->ac_chan->chan_state = IBD_RC_STATE_ACT_REP_RECV;
3180 ASSERT(ace->ac_chan != NULL);
3182 "ace=%p, act_state=%d, chan=%p",
3183 ace, ace->ac_chan->chan_state, ace->ac_chan);
3184 result = ibd_rc_handle_act_estab(ace);
3188 rc_chan = ace->ac_chan;
3197 ((ace = ibd_acache_find(state, &ace->ac_mac, B_FALSE, 0))
3198 != NULL) && (ace == rc_chan->ace)) {
3200 ASSERT(ace->ac_mce == NULL);
3201 INC_REF(ace, 1);
3202 IBD_ACACHE_PULLOUT_ACTIVE(state, ace);
3205 "IBT_CM_EVENT_CONN_CLOSED, ace=%p, chan=%p, "
3206 "reason=%d", ace, rc_chan,
3218 ace->ac_chan = NULL;
3219 ASSERT(ace->ac_ref != 0);
3220 atomic_dec_32(&ace->ac_ref);
3221 if ((ace->ac_ref == 0) || (ace->ac_ref == CYCLEVAL)) {
3222 IBD_ACACHE_INSERT_FREE(state, ace);
3223 ace->ac_ref = 0;
3225 ace->ac_ref |= CYCLEVAL;
3233 "ace=%p, chan=%p, code: %d, msg: %d, reason=%d",
3234 ace, ace->ac_chan,