/illumos-gate/usr/src/uts/common/os/ |
H A D | waitq.c | 44 waitq_init(waitq_t *wq) in waitq_init() argument 46 DISP_LOCK_INIT(&wq->wq_lock); in waitq_init() 47 wq->wq_first = NULL; in waitq_init() 48 wq->wq_count = 0; in waitq_init() 49 wq->wq_blocked = B_TRUE; in waitq_init() 53 waitq_fini(waitq_t *wq) in waitq_fini() argument 55 ASSERT(wq->wq_count == 0); in waitq_fini() 56 ASSERT(wq->wq_first == NULL); in waitq_fini() 57 ASSERT(wq->wq_blocked == B_TRUE); in waitq_fini() 58 ASSERT(!DISP_LOCK_HELD(&wq->wq_lock)); in waitq_fini() [all …]
|
/illumos-gate/usr/src/uts/common/io/fibre-channel/fca/oce/ |
H A D | oce_tx.c | 31 static void oce_free_wqed(struct oce_wq *wq, oce_wqe_desc_t *wqed); 32 static int oce_map_wqe(struct oce_wq *wq, oce_wqe_desc_t *wqed, 34 static int oce_bcopy_wqe(struct oce_wq *wq, oce_wqe_desc_t *wqed, mblk_t *mp, 36 static void oce_wqb_dtor(struct oce_wq *wq, oce_wq_bdesc_t *wqbd); 37 static int oce_wqb_ctor(oce_wq_bdesc_t *wqbd, struct oce_wq *wq, 39 static inline oce_wq_bdesc_t *oce_wqb_alloc(struct oce_wq *wq); 40 static void oce_wqb_free(struct oce_wq *wq, oce_wq_bdesc_t *wqbd); 42 static void oce_wqmd_free(struct oce_wq *wq, oce_wq_mdesc_t *wqmd); 43 static void oce_wqm_free(struct oce_wq *wq, oce_wq_mdesc_t *wqmd); 44 static oce_wq_mdesc_t *oce_wqm_alloc(struct oce_wq *wq); [all …]
|
H A D | oce_queue.c | 53 static void oce_wq_fini(struct oce_dev *dev, struct oce_wq *wq); 54 static int oce_wq_create(struct oce_wq *wq, struct oce_eq *eq); 55 static void oce_wq_del(struct oce_dev *dev, struct oce_wq *wq); 458 struct oce_wq *wq; in oce_wq_init() local 473 wq = kmem_zalloc(sizeof (struct oce_wq), KM_NOSLEEP); in oce_wq_init() 474 if (wq == NULL) { in oce_wq_init() 481 wq->cfg.q_len = q_len; in oce_wq_init() 482 wq->cfg.wq_type = (uint8_t)wq_type; in oce_wq_init() 483 wq->cfg.eqd = OCE_DEFAULT_WQ_EQD; in oce_wq_init() 484 wq->cfg.nbufs = 2 * wq->cfg.q_len; in oce_wq_init() [all …]
|
H A D | oce_gld.c | 103 (void) oce_start_wq(dev->wq[qidx]); in oce_start() 145 mutex_enter(&dev->wq[qidx]->tx_lock); in oce_stop() 150 oce_clean_wq(dev->wq[qidx]); in oce_stop() 154 mutex_exit(&dev->wq[qidx]->tx_lock); in oce_stop() 287 struct oce_wq *wq; in oce_m_send() local 299 wq = oce_get_wq(dev, mp); in oce_m_send() 306 rmp = oce_send_packet(wq, mp); in oce_m_send() 309 wq->resched = B_TRUE; in oce_m_send() 310 oce_arm_cq(dev, wq->cq->cq_id, 0, B_TRUE); in oce_m_send() 573 oce_m_ioctl(void *arg, queue_t *wq, mblk_t *mp) in oce_m_ioctl() argument [all …]
|
/illumos-gate/usr/src/uts/common/io/ib/clients/rdsv3/ |
H A D | rdsv3_impl.c | 525 rdsv3_workqueue_struct_t *wq = arg; in rdsv3_worker_thread() local 528 RDSV3_DPRINTF4("rdsv3_worker_thread", "Enter(wq: 0x%p)", wq); in rdsv3_worker_thread() 530 mutex_enter(&wq->wq_lock); in rdsv3_worker_thread() 531 work = list_remove_head(&wq->wq_queue); in rdsv3_worker_thread() 533 mutex_exit(&wq->wq_lock); in rdsv3_worker_thread() 538 mutex_enter(&wq->wq_lock); in rdsv3_worker_thread() 539 work = list_remove_head(&wq->wq_queue); in rdsv3_worker_thread() 543 if (wq->wq_state != RDSV3_WQ_THREAD_EXITING) { in rdsv3_worker_thread() 544 wq->wq_state = RDSV3_WQ_THREAD_IDLE; in rdsv3_worker_thread() 546 mutex_exit(&wq->wq_lock); in rdsv3_worker_thread() [all …]
|
/illumos-gate/usr/src/uts/common/io/ |
H A D | bufmod.c | 280 sbioc(queue_t *wq, mblk_t *mp) in sbioc() argument 283 struct sb *sbp = (struct sb *)wq->q_ptr; in sbioc() 294 miocack(wq, mp, 0, 0); in sbioc() 304 miocnak(wq, mp, 0, EINVAL); in sbioc() 316 miocnak(wq, mp, 0, EINVAL); in sbioc() 324 miocack(wq, mp, 0, 0); in sbioc() 345 qreply(wq, mop); in sbioc() 349 miocack(wq, mp, 0, 0); in sbioc() 355 miocack(wq, mp, 0, 0); in sbioc() 386 qreply(wq, mop); in sbioc() [all …]
|
H A D | tl.c | 1604 queue_t *wq = tep->te_wq; in tl_close() local 1607 ASSERT(wq == WR(rq)); in tl_close() 1700 rq->q_ptr = wq->q_ptr = NULL; in tl_close() 1795 tl_wput(queue_t *wq, mblk_t *mp) in tl_wput() argument 1797 tl_endpt_t *tep = (tl_endpt_t *)wq->q_ptr; in tl_wput() 1809 tl_merror(wq, mp, EPROTO); in tl_wput() 1827 miocnak(wq, mp, 0, EINVAL); in tl_wput() 1837 flushq(wq, FLUSHALL); in tl_wput() 1841 flushq(RD(wq), FLUSHALL); in tl_wput() 1842 qreply(wq, mp); in tl_wput() [all …]
|
H A D | sundlpi.c | 43 queue_t *wq, in dlbindack() argument 55 if ((mp = mexchange(wq, mp, size, M_PCPROTO, DL_BIND_ACK)) == NULL) in dlbindack() 66 qreply(wq, mp); in dlbindack() 71 queue_t *wq, in dlokack() argument 77 if ((mp = mexchange(wq, mp, sizeof (dl_ok_ack_t), M_PCPROTO, in dlokack() 82 qreply(wq, mp); in dlokack() 87 queue_t *wq, in dlerrorack() argument 95 if ((mp = mexchange(wq, mp, sizeof (dl_error_ack_t), M_PCPROTO, in dlerrorack() 102 qreply(wq, mp); in dlerrorack() 107 queue_t *wq, in dluderrorind() argument [all …]
|
H A D | pfmod.c | 88 static void pfioctl(queue_t *wq, mblk_t *mp); 207 pfwput(queue_t *wq, mblk_t *mp) in pfwput() argument 211 pfioctl(wq, mp); in pfwput() 215 putnext(wq, mp); in pfwput() 335 pfioctl(queue_t *wq, mblk_t *mp) in pfioctl() argument 337 struct epacketfilt *pfp = (struct epacketfilt *)wq->q_ptr; in pfioctl() 360 miocnak(wq, mp, 0, error); in pfioctl() 365 miocnak(wq, mp, 0, EINVAL); in pfioctl() 376 miocnak(wq, mp, 0, error); in pfioctl() 382 miocnak(wq, mp, 0, EINVAL); in pfioctl() [all …]
|
H A D | strsun.c | 43 merror(queue_t *wq, mblk_t *mp, int error) in merror() argument 45 if ((mp = mexchange(wq, mp, 1, M_ERROR, -1)) == NULL) in merror() 49 qreply(wq, mp); in merror() 70 miocack(queue_t *wq, mblk_t *mp, int count, int rval) in miocack() argument 78 qreply(wq, mp); in miocack() 82 miocnak(queue_t *wq, mblk_t *mp, int count, int error) in miocnak() argument 89 qreply(wq, mp); in miocnak() 93 mexchange(queue_t *wq, mblk_t *mp, size_t size, uchar_t type, int32_t primtype) in mexchange() argument 98 if (wq != NULL) { in mexchange() 100 merror(wq, mp, ENOSR); in mexchange()
|
/illumos-gate/usr/src/uts/common/io/mlxcx/ |
H A D | mlxcx_ring.c | 397 mlxcx_work_queue_t *wq) in mlxcx_rq_setup() argument 399 mutex_init(&wq->mlwq_mtx, NULL, MUTEX_DRIVER, in mlxcx_rq_setup() 402 list_insert_tail(&mlxp->mlx_wqs, wq); in mlxcx_rq_setup() 404 mutex_enter(&wq->mlwq_mtx); in mlxcx_rq_setup() 406 wq->mlwq_mlx = mlxp; in mlxcx_rq_setup() 407 wq->mlwq_type = MLXCX_WQ_TYPE_RECVQ; in mlxcx_rq_setup() 408 wq->mlwq_cq = cq; in mlxcx_rq_setup() 409 wq->mlwq_pd = &mlxp->mlx_pd; in mlxcx_rq_setup() 410 wq->mlwq_uar = &mlxp->mlx_uar; in mlxcx_rq_setup() 412 wq->mlwq_bufs = mlxcx_mlbs_create(mlxp); in mlxcx_rq_setup() [all …]
|
H A D | mlxcx_gld.c | 473 mlxcx_work_queue_t *wq = (mlxcx_work_queue_t *)rh; in mlxcx_mac_ring_stat() local 474 (void) wq; in mlxcx_mac_ring_stat() 809 mlxcx_work_queue_t *wq = (mlxcx_work_queue_t *)rh; in mlxcx_mac_ring_start() local 810 mlxcx_completion_queue_t *cq = wq->mlwq_cq; in mlxcx_mac_ring_start() 811 mlxcx_ring_group_t *g = wq->mlwq_group; in mlxcx_mac_ring_start() 812 mlxcx_t *mlxp = wq->mlwq_mlx; in mlxcx_mac_ring_start() 817 ASSERT(wq->mlwq_type == MLXCX_WQ_TYPE_SENDQ || in mlxcx_mac_ring_start() 818 wq->mlwq_type == MLXCX_WQ_TYPE_RECVQ); in mlxcx_mac_ring_start() 819 if (wq->mlwq_type == MLXCX_WQ_TYPE_SENDQ && in mlxcx_mac_ring_start() 820 !mlxcx_tx_ring_start(mlxp, g, wq)) in mlxcx_mac_ring_start() [all …]
|
/illumos-gate/usr/src/uts/common/rpc/ |
H A D | svc_gen.c | 110 queue_t *wq; in svc_tli_kcreate() local 130 wq = fp->f_vnode->v_stream->sd_wrq; in svc_tli_kcreate() 131 while ((wq = wq->q_next) != NULL) { in svc_tli_kcreate() 132 if (strcmp(wq->q_qinfo->qi_minfo->mi_idname, "rpcmod") == 0) in svc_tli_kcreate() 135 if (!wq) { in svc_tli_kcreate() 191 xprt->xp_wq = wq; in svc_tli_kcreate() 225 vp = (void **)wq->q_ptr; in svc_tli_kcreate() 235 create_putlocks(wq, 1); in svc_tli_kcreate()
|
H A D | rpcmod.c | 1012 static void mir_svc_start(queue_t *wq); 1995 mir_svc_start_close(queue_t *wq, mir_t *mir) in mir_svc_start_close() argument 1998 ASSERT((wq->q_flag & QREADR) == 0); in mir_svc_start_close() 2013 qenable(RD(wq)); in mir_svc_start_close() 2019 qenable(wq); in mir_svc_start_close() 2023 mir_svc_hold(queue_t *wq) in mir_svc_hold() argument 2025 mir_t *mir = (mir_t *)wq->q_ptr; in mir_svc_hold() 2037 mir_svc_release(queue_t *wq, mblk_t *mp, bool_t enable) in mir_svc_release() argument 2039 mir_t *mir = (mir_t *)wq->q_ptr; in mir_svc_release() 2042 ASSERT((wq->q_flag & QREADR) == 0); in mir_svc_release() [all …]
|
/illumos-gate/usr/src/uts/common/io/hxge/ |
H A D | hxge_hw.c | 471 hxge_hw_ioctl(p_hxge_t hxgep, queue_t *wq, mblk_t *mp, struct iocblk *iocp) in hxge_hw_ioctl() argument 478 miocnak(wq, mp, 0, EINVAL); in hxge_hw_ioctl() 487 miocnak(wq, mp, 0, EINVAL); in hxge_hw_ioctl() 492 miocack(wq, mp, 0, 0); in hxge_hw_ioctl() 497 miocack(wq, mp, 0, 0); in hxge_hw_ioctl() 501 hxge_rtrace_ioctl(hxgep, wq, mp, iocp); in hxge_hw_ioctl() 510 hxge_loopback_ioctl(p_hxge_t hxgep, queue_t *wq, mblk_t *mp, in hxge_loopback_ioctl() argument 518 miocnak(wq, mp, 0, EINVAL); in hxge_loopback_ioctl() 527 miocack(wq, mp, sizeof (hxge_lb_t), 0); in hxge_loopback_ioctl() 529 miocnak(wq, mp, 0, EINVAL); in hxge_loopback_ioctl() [all …]
|
/illumos-gate/usr/src/lib/udapl/udapl_tavor/tavor/ |
H A D | dapl_tavor_wr.c | 62 dapls_tavor_workq_hdr_t *wq; in dapls_tavor_wrid_get_entry() local 72 wq = dapli_tavor_wrid_wqhdr_find(cq, qpnum, send_or_recv); in dapls_tavor_wrid_get_entry() 74 dapl_os_assert(wq != NULL); in dapls_tavor_wrid_get_entry() 86 dapl_os_lock(&wq->wq_wrid_lock->wrl_lock); in dapls_tavor_wrid_get_entry() 87 wre_tmp = dapli_tavor_wrid_find_match(wq, cqe); in dapls_tavor_wrid_get_entry() 107 wre->wr_wqeaddrsz = dapli_tavor_wrid_get_wqeaddrsz(wq); in dapls_tavor_wrid_get_entry() 113 dapl_os_unlock(&wq->wq_wrid_lock->wrl_lock); in dapls_tavor_wrid_get_entry() 124 dapli_tavor_wrid_find_match(dapls_tavor_workq_hdr_t *wq, tavor_hw_cqe_t *cqe) in dapli_tavor_wrid_find_match() argument 148 container = wq->wq_wrid_poll; in dapli_tavor_wrid_find_match() 152 last_container = (container != wq->wq_wrid_post) ? 0 : 1; in dapli_tavor_wrid_find_match() [all …]
|
/illumos-gate/usr/src/uts/common/io/softmac/ |
H A D | softmac_dev.c | 397 softmac_mod_wput(queue_t *wq, mblk_t *mp) in softmac_mod_wput() argument 402 ASSERT(wq->q_next != NULL); in softmac_mod_wput() 410 softmac_lower_t *slp = wq->q_ptr; in softmac_mod_wput() 414 miocnak(wq, mp, 0, EINVAL); in softmac_mod_wput() 425 miocack(wq, mp, sizeof (*arg), 0); in softmac_mod_wput() 429 miocnak(wq, mp, 0, EINVAL); in softmac_mod_wput() 442 softmac_mod_wsrv(queue_t *wq) in softmac_mod_wsrv() argument 444 softmac_lower_t *slp = wq->q_ptr; in softmac_mod_wsrv() 449 ASSERT(wq->q_next != NULL); in softmac_mod_wsrv() 620 softmac_drv_wput(queue_t *wq, mblk_t *mp) in softmac_drv_wput() argument [all …]
|
H A D | softmac_pkt.c | 33 queue_t *wq = ((softmac_t *)arg)->smac_lower->sl_wq; in softmac_m_tx() local 39 if (!SOFTMAC_CANPUTNEXT(wq)) in softmac_m_tx() 43 putnext(wq, mp); in softmac_m_tx() 50 if (!SOFTMAC_CANPUTNEXT(wq)) in softmac_m_tx() 54 putnext(wq, mp); in softmac_m_tx()
|
/illumos-gate/usr/src/uts/common/io/ib/adapters/hermon/ |
H A D | hermon_wr.c | 77 hermon_workq_hdr_t *wq; in hermon_post_send_ud() local 108 wq = qp->qp_sq_wqhdr; in hermon_post_send_ud() 109 qsize_msk = wq->wq_mask; in hermon_post_send_ud() 113 tail = wq->wq_tail; in hermon_post_send_ud() 114 head = wq->wq_head; in hermon_post_send_ud() 124 if (wq->wq_full != 0) { in hermon_post_send_ud() 131 wq->wq_full = 1; in hermon_post_send_ud() 363 wq->wq_wrid[tail] = wr->wr_id; in hermon_post_send_ud() 368 wq->wq_tail = tail; in hermon_post_send_ud() 430 hermon_workq_hdr_t *wq; in hermon_post_send_rc() local [all …]
|
/illumos-gate/usr/src/uts/common/io/audio/impl/ |
H A D | audio_sun.c | 626 devaudio_ioc_getinfo(queue_t *wq, audio_client_t *c, mblk_t *mp) in devaudio_ioc_getinfo() argument 633 miocnak(wq, mp, 0, ENOMEM); in devaudio_ioc_getinfo() 645 qreply(wq, mp); in devaudio_ioc_getinfo() 654 devaudio_ioc_setinfo(queue_t *wq, audio_client_t *c, mblk_t *mp) in devaudio_ioc_setinfo() argument 681 qreply(wq, mp); in devaudio_ioc_setinfo() 688 miocnak(wq, mp, 0, EINVAL); in devaudio_ioc_setinfo() 934 qreply(wq, mp); in devaudio_ioc_setinfo() 939 miocnak(wq, mp, 0, rv); in devaudio_ioc_setinfo() 943 devaudio_ioc_getdev(queue_t *wq, audio_client_t *c, mblk_t *mp) in devaudio_ioc_getdev() argument 950 miocnak(wq, mp, 0, ENOMEM); in devaudio_ioc_getdev() [all …]
|
/illumos-gate/usr/src/uts/sun4u/opl/io/ |
H A D | dm2s.c | 114 int dm2s_wput(queue_t *wq, mblk_t *mp); 116 int dm2s_wsrv(queue_t *wq); 121 void dm2s_start(queue_t *wq, dm2s_t *dm2sp); 123 int dm2s_transmit(queue_t *wq, mblk_t *mp, target_id_t target, mkey_t key); 533 dm2s_wsrv(queue_t *wq) in dm2s_wsrv() argument 535 dm2s_t *dm2sp = (dm2s_t *)wq->q_ptr; in dm2s_wsrv() 546 dm2s_start(wq, dm2sp); in dm2s_wsrv() 560 dm2s_wput(queue_t *wq, mblk_t *mp) in dm2s_wput() argument 562 dm2s_t *dm2sp = (dm2s_t *)wq->q_ptr; in dm2s_wput() 587 (void) putq(wq, mp); in dm2s_wput() [all …]
|
/illumos-gate/usr/src/uts/common/io/fibre-channel/ulp/ |
H A D | fcip.c | 139 static int fcip_open(queue_t *wq, dev_t *devp, int flag, 142 static int fcip_start(queue_t *wq, mblk_t *mp, struct fcip *fptr, 156 static void fcip_spareq(queue_t *wq, mblk_t *mp); 157 static void fcip_pareq(queue_t *wq, mblk_t *mp); 158 static void fcip_ubreq(queue_t *wq, mblk_t *mp); 159 static void fcip_breq(queue_t *wq, mblk_t *mp); 160 static void fcip_dreq(queue_t *wq, mblk_t *mp); 161 static void fcip_areq(queue_t *wq, mblk_t *mp); 162 static void fcip_udreq(queue_t *wq, mblk_t *mp); 163 static void fcip_ireq(queue_t *wq, mblk_t *mp); [all …]
|
/illumos-gate/usr/src/uts/common/io/nxge/ |
H A D | nxge_hw.c | 585 nxge_hw_ioctl(p_nxge_t nxgep, queue_t *wq, mblk_t *mp, struct iocblk *iocp) in nxge_hw_ioctl() argument 592 miocnak(wq, mp, 0, EINVAL); in nxge_hw_ioctl() 600 miocnak(wq, mp, 0, EINVAL); in nxge_hw_ioctl() 605 miocack(wq, mp, sizeof (uint16_t), 0); in nxge_hw_ioctl() 610 miocack(wq, mp, 0, 0); in nxge_hw_ioctl() 615 miocack(wq, mp, sizeof (uint32_t), 0); in nxge_hw_ioctl() 620 miocack(wq, mp, 0, 0); in nxge_hw_ioctl() 625 miocack(wq, mp, 0, 0); in nxge_hw_ioctl() 630 miocack(wq, mp, 0, 0); in nxge_hw_ioctl() 635 miocack(wq, mp, 0, 0); in nxge_hw_ioctl() [all …]
|
/illumos-gate/usr/src/uts/common/io/ib/adapters/tavor/ |
H A D | tavor_wr.c | 73 static tavor_wrid_entry_t *tavor_wrid_find_match(tavor_workq_hdr_t *wq, 75 static void tavor_wrid_reaplist_add(tavor_cqhdl_t cq, tavor_workq_hdr_t *wq); 80 static uint32_t tavor_wrid_get_wqeaddrsz(tavor_workq_hdr_t *wq); 85 static tavor_workq_hdr_t *tavor_wrid_list_reap(tavor_wrid_list_hdr_t *wq); 2508 tavor_wrid_add_entry(tavor_workq_hdr_t *wq, uint64_t wrid, uint32_t wqeaddrsz, in tavor_wrid_add_entry() argument 2514 ASSERT(MUTEX_HELD(&wq->wq_wrid_wql->wql_lock)); in tavor_wrid_add_entry() 2522 head = wq->wq_wrid_post->wl_head; in tavor_wrid_add_entry() 2523 tail = wq->wq_wrid_post->wl_tail; in tavor_wrid_add_entry() 2524 size = wq->wq_wrid_post->wl_size; in tavor_wrid_add_entry() 2525 wre_tmp = &wq->wq_wrid_post->wl_wre[tail]; in tavor_wrid_add_entry() [all …]
|
/illumos-gate/usr/src/uts/common/sys/fibre-channel/fca/oce/ |
H A D | oce_buf.h | 126 struct oce_wq *wq; member 181 int oce_wqb_cache_create(struct oce_wq *wq, size_t buf_size); 182 void oce_wqb_cache_destroy(struct oce_wq *wq); 184 void oce_wqm_cache_destroy(struct oce_wq *wq); 185 int oce_wqm_cache_create(struct oce_wq *wq);
|