/illumos-gate/usr/src/uts/common/io/ib/adapters/hermon/ |
H A D | hermon_qp.c | 45 static int hermon_qp_create_qpn(hermon_state_t *state, hermon_qphdl_t qp, 67 hermon_qphdl_t qp; in hermon_qp_alloc() local 273 qp = (hermon_qphdl_t)rsrc->hr_addr; in hermon_qp_alloc() 274 bzero(qp, sizeof (struct hermon_sw_qp_s)); in hermon_qp_alloc() 275 _NOTE(NOW_INVISIBLE_TO_OTHER_THREADS(*qp)) in hermon_qp_alloc() 277 qp->qp_alloc_flags = alloc_flags; in hermon_qp_alloc() 285 qp->qp_qpnum = qpc->hr_indx; in hermon_qp_alloc() 286 qp->qp_ring = qp->qp_qpnum << 8; in hermon_qp_alloc() 287 qp->qp_qpn_hdl = NULL; in hermon_qp_alloc() 289 status = hermon_qp_create_qpn(state, qp, qpc); in hermon_qp_alloc() [all …]
|
H A D | hermon_qpmod.c | 48 static int hermon_qp_reset2init(hermon_state_t *state, hermon_qphdl_t qp, 50 static int hermon_qp_init2init(hermon_state_t *state, hermon_qphdl_t qp, 52 static int hermon_qp_init2rtr(hermon_state_t *state, hermon_qphdl_t qp, 54 static int hermon_qp_rtr2rts(hermon_state_t *state, hermon_qphdl_t qp, 56 static int hermon_qp_rts2rts(hermon_state_t *state, hermon_qphdl_t qp, 59 static int hermon_qp_rts2sqd(hermon_state_t *state, hermon_qphdl_t qp, 62 static int hermon_qp_sqd2rts(hermon_state_t *state, hermon_qphdl_t qp, 64 static int hermon_qp_sqd2sqd(hermon_state_t *state, hermon_qphdl_t qp, 66 static int hermon_qp_sqerr2rts(hermon_state_t *state, hermon_qphdl_t qp, 68 static int hermon_qp_to_error(hermon_state_t *state, hermon_qphdl_t qp); [all …]
|
H A D | hermon_wr.c | 46 static int hermon_wqe_send_build(hermon_state_t *state, hermon_qphdl_t qp, 48 static int hermon_wqe_mlx_build(hermon_state_t *state, hermon_qphdl_t qp, 50 static void hermon_wqe_headroom(uint_t from, hermon_qphdl_t qp); 51 static int hermon_wqe_recv_build(hermon_state_t *state, hermon_qphdl_t qp, 73 hermon_post_send_ud(hermon_state_t *state, hermon_qphdl_t qp, in hermon_post_send_ud() argument 101 ASSERT(MUTEX_HELD(&qp->qp_sq_lock)); in hermon_post_send_ud() 102 _NOTE(LOCK_RELEASED_AS_SIDE_EFFECT(&qp->qp_sq_lock)) in hermon_post_send_ud() 108 wq = qp->qp_sq_wqhdr; in hermon_post_send_ud() 110 hdrmwqes = qp->qp_sq_hdrmwqes; /* in WQEs */ in hermon_post_send_ud() 111 sectperwqe = 1 << (qp->qp_sq_log_wqesz - 2); in hermon_post_send_ud() [all …]
|
H A D | hermon_event.c | 1195 hermon_qphdl_t qp; in hermon_comm_estbl_handler() local 1202 qp = hermon_qphdl_from_qpnum(state, qpnum); in hermon_comm_estbl_handler() 1224 if ((qp != NULL) && (qp->qp_qpnum == qpnum) && in hermon_comm_estbl_handler() 1226 event.ev_qp_hdl = (ibtl_qp_hdl_t)qp->qp_hdlrarg; in hermon_comm_estbl_handler() 1245 hermon_qphdl_t qp; in hermon_local_wq_cat_err_handler() local 1252 qp = hermon_qphdl_from_qpnum(state, qpnum); in hermon_local_wq_cat_err_handler() 1274 if ((qp != NULL) && (qp->qp_qpnum == qpnum) && in hermon_local_wq_cat_err_handler() 1276 event.ev_qp_hdl = (ibtl_qp_hdl_t)qp->qp_hdlrarg; in hermon_local_wq_cat_err_handler() 1295 hermon_qphdl_t qp; in hermon_invreq_local_wq_err_handler() local 1302 qp = hermon_qphdl_from_qpnum(state, qpnum); in hermon_invreq_local_wq_err_handler() [all …]
|
/illumos-gate/usr/src/uts/common/os/ |
H A D | msg.c | 283 static int msgq_check_err(kmsqid_t *qp, int cvres); 351 kmsqid_t *qp = (kmsqid_t *)perm; in msg_dtor() local 355 ASSERT(list_is_empty(&qp->msg_wait_snd[ii])); in msg_dtor() 356 ASSERT(list_is_empty(&qp->msg_wait_snd_ngt[ii])); in msg_dtor() 357 list_destroy(&qp->msg_wait_snd[ii]); in msg_dtor() 358 list_destroy(&qp->msg_wait_snd_ngt[ii]); in msg_dtor() 360 ASSERT(list_is_empty(&qp->msg_cpy_block)); in msg_dtor() 361 ASSERT(list_is_empty(&qp->msg_wait_rcv)); in msg_dtor() 362 list_destroy(&qp->msg_cpy_block); in msg_dtor() 363 ASSERT(qp->msg_snd_cnt == 0); in msg_dtor() [all …]
|
H A D | putnext.c | 144 putnext(queue_t *qp, mblk_t *mp) in putnext() argument 146 queue_t *fqp = qp; /* For strft tracing */ in putnext() 160 "putnext_start:(%p, %p)", qp, mp); in putnext() 164 stp = STREAM(qp); in putnext() 173 qp = qp->q_next; in putnext() 174 sq = qp->q_syncq; in putnext() 177 qi = qp->q_qinfo; in putnext() 195 queued = qp->q_sqflags & Q_SQQUEUED; in putnext() 223 qp, mp, sq); in putnext() 232 qfill_syncq(sq, qp, mp); in putnext() [all …]
|
H A D | strsubr.c | 470 #define SQPUT_Q(sq, qp) \ argument 473 if (!(qp->q_sqflags & Q_SQQUEUED)) { \ 475 ASSERT((qp->q_sqprev == NULL) && (qp->q_sqnext == NULL)); \ 479 ASSERT(sq == qp->q_syncq); \ 494 sq->sq_head = sq->sq_tail = qp; \ 496 } else if (qp->q_spri == 0) { \ 497 qp->q_sqprev = sq->sq_tail; \ 498 sq->sq_tail->q_sqnext = qp; \ 499 sq->sq_tail = qp; \ 508 while (*qpp != NULL && qp->q_spri > (*qpp)->q_spri) { \ [all …]
|
/illumos-gate/usr/src/uts/common/io/ib/adapters/tavor/ |
H A D | tavor_qp.c | 46 static int tavor_qp_create_qpn(tavor_state_t *state, tavor_qphdl_t qp, 67 tavor_qphdl_t qp; in tavor_qp_alloc() local 226 qp = (tavor_qphdl_t)rsrc->tr_addr; in tavor_qp_alloc() 227 _NOTE(NOW_INVISIBLE_TO_OTHER_THREADS(*qp)) in tavor_qp_alloc() 234 status = tavor_qp_create_qpn(state, qp, qpc); in tavor_qp_alloc() 247 umapdb = tavor_umap_db_alloc(state->ts_instance, qp->qp_qpnum, in tavor_qp_alloc() 272 qp->qp_rdbrsrcp = rdb; in tavor_qp_alloc() 275 qp->qp_rdb_ddraddr = (uintptr_t)rsrc_pool->rsrc_ddr_offset + in tavor_qp_alloc() 327 qp->qp_rq_log_wqesz = 0; in tavor_qp_alloc() 328 qp->qp_rq_sgl = 0; in tavor_qp_alloc() [all …]
|
H A D | tavor_qpmod.c | 47 static int tavor_qp_reset2init(tavor_state_t *state, tavor_qphdl_t qp, 49 static int tavor_qp_init2init(tavor_state_t *state, tavor_qphdl_t qp, 51 static int tavor_qp_init2rtr(tavor_state_t *state, tavor_qphdl_t qp, 53 static int tavor_qp_rtr2rts(tavor_state_t *state, tavor_qphdl_t qp, 55 static int tavor_qp_rts2rts(tavor_state_t *state, tavor_qphdl_t qp, 57 static int tavor_qp_rts2sqd(tavor_state_t *state, tavor_qphdl_t qp, 59 static int tavor_qp_sqd2rts(tavor_state_t *state, tavor_qphdl_t qp, 61 static int tavor_qp_sqd2sqd(tavor_state_t *state, tavor_qphdl_t qp, 63 static int tavor_qp_sqerr2rts(tavor_state_t *state, tavor_qphdl_t qp, 65 static int tavor_qp_to_error(tavor_state_t *state, tavor_qphdl_t qp); [all …]
|
H A D | tavor_wr.c | 53 static int tavor_wqe_send_build(tavor_state_t *state, tavor_qphdl_t qp, 57 uint64_t *prev_desc, tavor_sw_wqe_dbinfo_t *dbinfo, tavor_qphdl_t qp); 58 static int tavor_wqe_mlx_build(tavor_state_t *state, tavor_qphdl_t qp, 62 tavor_qphdl_t qp); 63 static int tavor_wqe_recv_build(tavor_state_t *state, tavor_qphdl_t qp, 66 uint64_t *prev, tavor_qphdl_t qp); 86 static void tavor_wrid_wqhdr_lock_both(tavor_qphdl_t qp); 87 static void tavor_wrid_wqhdr_unlock_both(tavor_qphdl_t qp); 96 tavor_post_send(tavor_state_t *state, tavor_qphdl_t qp, in tavor_post_send() argument 117 if (qp->qp_is_umap) { in tavor_post_send() [all …]
|
H A D | tavor_event.c | 1288 tavor_qphdl_t qp; in tavor_comm_estbl_handler() local 1307 qp = tavor_qphdl_from_qpnum(state, qpnum); in tavor_comm_estbl_handler() 1329 if ((qp != NULL) && (qp->qp_qpnum == qpnum) && in tavor_comm_estbl_handler() 1331 event.ev_qp_hdl = (ibtl_qp_hdl_t)qp->qp_hdlrarg; in tavor_comm_estbl_handler() 1349 tavor_qphdl_t qp; in tavor_local_wq_cat_err_handler() local 1368 qp = tavor_qphdl_from_qpnum(state, qpnum); in tavor_local_wq_cat_err_handler() 1390 if ((qp != NULL) && (qp->qp_qpnum == qpnum) && in tavor_local_wq_cat_err_handler() 1392 event.ev_qp_hdl = (ibtl_qp_hdl_t)qp->qp_hdlrarg; in tavor_local_wq_cat_err_handler() 1410 tavor_qphdl_t qp; in tavor_invreq_local_wq_err_handler() local 1429 qp = tavor_qphdl_from_qpnum(state, qpnum); in tavor_invreq_local_wq_err_handler() [all …]
|
/illumos-gate/usr/src/uts/common/io/vuidmice/ |
H A D | vuidps2.c | 137 vuid_set_timeout(queue_t *const qp, clock_t time) in vuid_set_timeout() argument 140 (void) quntimeout(qp, STATEP->init_tid); in vuid_set_timeout() 141 STATEP->init_tid = qtimeout(qp, VUID_INIT_TIMEOUT, in vuid_set_timeout() 142 qp, drv_usectohz(time)); in vuid_set_timeout() 146 vuid_cancel_timeout(queue_t *const qp) in vuid_cancel_timeout() argument 148 (void) quntimeout(qp, STATEP->init_tid); in vuid_cancel_timeout() 157 vuidmice_send_wheel_event(queue_t *const qp, uchar_t event_id, in vuidmice_send_wheel_event() argument 177 if (canput(qp->q_next)) { in vuidmice_send_wheel_event() 178 putnext(qp, bp); in vuidmice_send_wheel_event() 180 (void) putbq(qp, bp); /* read side is blocked */ in vuidmice_send_wheel_event() [all …]
|
H A D | vuidmice.c | 178 vuidmice_open(queue_t *qp, dev_t *devp, int oflag, int sflag, cred_t *crp) in vuidmice_open() argument 180 if (qp->q_ptr != NULL) in vuidmice_open() 197 qp->q_ptr = kmem_zalloc(sizeof (struct MouseStateInfo), KM_SLEEP); in vuidmice_open() 198 WR(qp)->q_ptr = qp->q_ptr; in vuidmice_open() 203 qprocson(qp); in vuidmice_open() 206 if (VUID_OPEN(qp) != 0) { in vuidmice_open() 207 qprocsoff(qp); in vuidmice_open() 212 kmem_free(qp->q_ptr, sizeof (struct MouseStateInfo)); in vuidmice_open() 213 qp->q_ptr = NULL; in vuidmice_open() 223 vuidmice_close(queue_t *qp, int flag, cred_t *crp) in vuidmice_close() argument [all …]
|
/illumos-gate/usr/src/uts/common/io/ |
H A D | zcons.c | 420 zc_switch(queue_t *qp) in zc_switch() argument 422 zc_state_t *zcs = qp->q_ptr; in zc_switch() 425 if (qp == zcs->zc_manager_rdq) { in zc_switch() 427 } else if (OTHERQ(qp) == zcs->zc_manager_rdq && in zc_switch() 430 } else if (qp == zcs->zc_subsid_rdq) { in zc_switch() 432 } else if (OTHERQ(qp) == zcs->zc_subsid_rdq && in zc_switch() 445 zc_side(queue_t *qp) in zc_side() argument 447 zc_state_t *zcs = qp->q_ptr; in zc_side() 450 if (qp == zcs->zc_manager_rdq || in zc_side() 451 OTHERQ(qp) == zcs->zc_manager_rdq) { in zc_side() [all …]
|
H A D | sad.c | 60 static int sadwput(queue_t *qp, mblk_t *mp); 183 queue_t *qp, /* pointer to read queue */ in sadopen() argument 235 ss->ss_saddev[i].sa_qp = qp; in sadopen() 237 qp->q_ptr = (caddr_t)&ss->ss_saddev[i]; in sadopen() 238 WR(qp)->q_ptr = (caddr_t)&ss->ss_saddev[i]; in sadopen() 247 qprocson(qp); in sadopen() 258 queue_t *qp, /* pointer to read queue */ in sadclose() argument 264 qprocsoff(qp); in sadclose() 265 sadp = (struct saddev *)qp->q_ptr; in sadclose() 270 qp->q_ptr = NULL; in sadclose() [all …]
|
H A D | ptm.c | 458 ptmwput(queue_t *qp, mblk_t *mp) in ptmwput() argument 464 ASSERT(qp->q_ptr); in ptmwput() 466 ptmp = (struct pt_ttys *)qp->q_ptr; in ptmwput() 486 flushband(qp, *(mp->b_rptr + 1), in ptmwput() 489 flushq(qp, FLUSHDATA); in ptmwput() 515 miocnak(qp, mp, 0, EINVAL); in ptmwput() 519 (void) putq(qp, mp); in ptmwput() 528 miocack(qp, mp, 0, 0); in ptmwput() 535 miocack(qp, mp, 0, 0); in ptmwput() 543 miocnak(qp, mp, 0, error); in ptmwput() [all …]
|
H A D | pts.c | 510 ptswput(queue_t *qp, mblk_t *mp) in ptswput() argument 517 ASSERT(qp->q_ptr); in ptswput() 519 ptsp = (struct pt_ttys *)qp->q_ptr; in ptswput() 531 qreply(qp, mp); in ptswput() 555 flushband(qp, *(mp->b_rptr + 1), FLUSHDATA); in ptswput() 557 flushq(qp, FLUSHDATA); in ptswput() 592 ASSERT(RD(qp)->q_first == NULL); in ptswput() 594 qreply(qp, mp); in ptswput() 640 qreply(qp, mp); in ptswput() 650 (void) putq(qp, mp); in ptswput() [all …]
|
/illumos-gate/usr/src/cmd/fm/modules/common/disk-monitor/ |
H A D | util.c | 191 queue_add(qu_t *qp, void *data) in queue_add() argument 194 (struct q_node *)qp->nalloc(sizeof (struct q_node)); in queue_add() 199 dm_assert(pthread_mutex_lock(&qp->mutex) == 0); in queue_add() 201 if (qp->nodep == NULL) in queue_add() 202 qp->nodep = qnp; in queue_add() 204 nodep = qp->nodep; in queue_add() 213 if (qp->boe && qp->nodep == qnp) in queue_add() 214 dm_assert(pthread_cond_broadcast(&qp->cvar) == 0); in queue_add() 215 dm_assert(pthread_mutex_unlock(&qp->mutex) == 0); in queue_add() 219 queue_remove(qu_t *qp) in queue_remove() argument [all …]
|
/illumos-gate/usr/src/lib/udapl/udapl_tavor/tavor/ |
H A D | dapl_arbel_hw.c | 47 #define ARBEL_WQE_SETCTRL(qp, desc, ctrl) \ argument 49 #define ARBEL_WQE_SETNEXT(qp, desc, nda_op, ee_nds) \ argument 144 dapli_arbel_sq_dbrec(ib_qp_handle_t qp, uint16_t wqe_counter) in dapli_arbel_sq_dbrec() argument 146 qp->qp_sq_dbp[0] = HTOBE_32((wqe_counter + 1) & 0xffff); in dapli_arbel_sq_dbrec() 188 dapli_arbel_wqe_send_build(ib_qp_handle_t qp, ibt_send_wr_t *wr, in dapli_arbel_wqe_send_build() argument 225 if (qp->qp_sq_inline != 0) in dapli_arbel_wqe_send_build() 227 qp->qp_sq_wqesz - TAVOR_INLINE_HEADER_SIZE_SEND; in dapli_arbel_wqe_send_build() 230 if (qp->qp_sq_inline != 0) in dapli_arbel_wqe_send_build() 232 qp->qp_sq_wqesz - TAVOR_INLINE_HEADER_SIZE_RDMAW; in dapli_arbel_wqe_send_build() 235 if (qp->qp_sq_inline < 0 && wr->wr_opcode == IBT_WRC_RDMAR) in dapli_arbel_wqe_send_build() [all …]
|
H A D | dapl_hermon_hw.c | 175 dapli_hermon_wqe_send_build(ib_qp_handle_t qp, ibt_send_wr_t *wr, in dapli_hermon_wqe_send_build() argument 214 if (qp->qp_sq_inline != 0) in dapli_hermon_wqe_send_build() 216 qp->qp_sq_wqesz - TAVOR_INLINE_HEADER_SIZE_SEND; in dapli_hermon_wqe_send_build() 220 if (qp->qp_sq_inline != 0) in dapli_hermon_wqe_send_build() 222 qp->qp_sq_wqesz - TAVOR_INLINE_HEADER_SIZE_RDMAW; in dapli_hermon_wqe_send_build() 227 if (qp->qp_sq_inline < 0) in dapli_hermon_wqe_send_build() 228 qp->qp_sq_inline = 0; in dapli_hermon_wqe_send_build() 299 if (nds > qp->qp_sq_sgl) { in dapli_hermon_wqe_send_build() 409 dapli_hermon_wqe_recv_build(ib_qp_handle_t qp, ibt_recv_wr_t *wr, in dapli_hermon_wqe_recv_build() argument 421 if (wr->wr_nds > qp->qp_rq_sgl) { in dapli_hermon_wqe_recv_build() [all …]
|
H A D | dapl_tavor_hw.c | 292 dapli_tavor_wqe_send_build(ib_qp_handle_t qp, ibt_send_wr_t *wr, in dapli_tavor_wqe_send_build() argument 324 if (qp->qp_sq_inline != 0) in dapli_tavor_wqe_send_build() 326 qp->qp_sq_wqesz - TAVOR_INLINE_HEADER_SIZE_SEND; in dapli_tavor_wqe_send_build() 329 if (qp->qp_sq_inline != 0) in dapli_tavor_wqe_send_build() 331 qp->qp_sq_wqesz - TAVOR_INLINE_HEADER_SIZE_RDMAW; in dapli_tavor_wqe_send_build() 334 if (qp->qp_sq_inline < 0 && wr->wr_opcode == IBT_WRC_RDMAR) in dapli_tavor_wqe_send_build() 335 qp->qp_sq_inline = 0; in dapli_tavor_wqe_send_build() 361 tavor_num_mpt_mask = (uint32_t)(1 << qp->qp_num_mpt_shift) - 1; in dapli_tavor_wqe_send_build() 362 new_rkey = (old_rkey >> qp->qp_num_mpt_shift); in dapli_tavor_wqe_send_build() 364 new_rkey = ((new_rkey << qp->qp_num_mpt_shift) | in dapli_tavor_wqe_send_build() [all …]
|
H A D | dapl_tavor_wr.c | 725 dapls_tavor_wrid_init(ib_qp_handle_t qp) in dapls_tavor_wrid_init() argument 740 dapli_tavor_wrid_wqhdr_lock_both(qp); in dapls_tavor_wrid_init() 741 swq = dapli_tavor_wrid_wqhdr_find(qp->qp_sq_cqhdl, qp->qp_num, in dapls_tavor_wrid_init() 746 swq = dapli_tavor_wrid_wqhdr_create(qp->qp_sq_cqhdl, in dapls_tavor_wrid_init() 747 qp->qp_num, TAVOR_WR_SEND, 1); in dapls_tavor_wrid_init() 753 dapli_tavor_wrid_wqhdr_unlock_both(qp); in dapls_tavor_wrid_init() 757 qp->qp_sq_wqhdr = swq; in dapls_tavor_wrid_init() 758 swq->wq_size = qp->qp_sq_numwqe; in dapls_tavor_wrid_init() 775 dapli_tavor_cq_wqhdr_remove(qp->qp_sq_cqhdl, swq); in dapls_tavor_wrid_init() 778 dapli_tavor_wrid_wqhdr_unlock_both(qp); in dapls_tavor_wrid_init() [all …]
|
/illumos-gate/usr/src/uts/common/io/ib/clients/of/sol_ofs/ |
H A D | sol_kverbs.c | 1075 struct ib_qp *qp; in ib_create_qp() local 1097 if ((qp = kmem_alloc(sizeof (struct ib_qp), KM_NOSLEEP)) == NULL) { in ib_create_qp() 1107 kmem_free(qp, sizeof (struct ib_qp)); in ib_create_qp() 1170 kmem_free(qp, sizeof (struct ib_qp)); in ib_create_qp() 1184 qp->device = pd->device; in ib_create_qp() 1185 qp->pd = pd; in ib_create_qp() 1186 qp->send_cq = qp_init_attr->send_cq; in ib_create_qp() 1187 qp->recv_cq = qp_init_attr->recv_cq; in ib_create_qp() 1188 qp->srq = qp_init_attr->srq; in ib_create_qp() 1189 qp->event_handler = qp_init_attr->event_handler; in ib_create_qp() [all …]
|
/illumos-gate/usr/src/uts/common/rpc/ |
H A D | rpcib.c | 384 static struct rdma_done_list *rdma_done_add(rib_qp_t *qp, uint32_t xid); 385 static void rdma_done_rm(rib_qp_t *qp, struct rdma_done_list *rd); 387 static void rdma_done_notify(rib_qp_t *qp, uint32_t xid); 1010 rib_qp_t *qp; in rib_clnt_scq_handler() local 1031 qp = wd->qp; in rib_clnt_scq_handler() 1032 conn = qptoc(qp); in rib_clnt_scq_handler() 1080 rib_rbuf_free(qptoc(wd->qp), in rib_clnt_scq_handler() 1086 rib_send_rele(qp); in rib_clnt_scq_handler() 1102 rib_qp_t *qp; in rib_svc_scq_handler() local 1124 qp = wd->qp; in rib_svc_scq_handler() [all …]
|
/illumos-gate/usr/src/lib/libc/port/threads/ |
H A D | synch.c | 473 queue_head_t *qp; in queue_alloc() local 486 udp->queue_head = qp = (queue_head_t *)data; in queue_alloc() 487 for (i = 0; i < 2 * QHASHSIZE; qp++, i++) { in queue_alloc() 488 qp->qh_type = (i < QHASHSIZE)? MX : CV; in queue_alloc() 489 qp->qh_lock.mutex_flag = LOCK_INITED; in queue_alloc() 490 qp->qh_lock.mutex_magic = MUTEX_MAGIC; in queue_alloc() 491 qp->qh_hlist = &qp->qh_def_root; in queue_alloc() 493 qp->qh_hlen = 1; in queue_alloc() 494 qp->qh_hmax = 1; in queue_alloc() 505 QVERIFY(queue_head_t *qp) in QVERIFY() argument [all …]
|