/illumos-gate/usr/src/uts/common/io/ |
H A D | vuid_queue.c | 53 vq->top = vq->bottom = vq->free = VUID_Q_NODE_NULL; in vq_initialize() 57 vq->num = vq->size; in vq_initialize() 89 vq->bottom = vqn; in vq_put() 92 vq->top = vqn; in vq_put() 148 vq->top = vqn; in vq_putback() 151 vq->bottom = vqn; in vq_putback() 274 vqn = vq->free; in vq_alloc_node() 275 vq->free = vq->free->next; in vq_alloc_node() 276 vq->num++; in vq_alloc_node() 286 vq->free = vqn; in vq_free_node() [all …]
|
/illumos-gate/usr/src/uts/common/fs/zfs/ |
H A D | vdev_queue.c | 263 vq->vq_vdev = vd; in vdev_queue_init() 297 vq->vq_last_offset = 0; in vdev_queue_init() 696 mutex_exit(&vq->vq_lock); in vdev_queue_aggregate() 701 mutex_enter(&vq->vq_lock); in vdev_queue_aggregate() 753 mutex_exit(&vq->vq_lock); in vdev_queue_io_to_issue() 805 mutex_enter(&vq->vq_lock); in vdev_queue_io() 809 mutex_exit(&vq->vq_lock); in vdev_queue_io() 828 mutex_enter(&vq->vq_lock); in vdev_queue_io_done() 836 mutex_exit(&vq->vq_lock); in vdev_queue_io_done() 846 mutex_exit(&vq->vq_lock); in vdev_queue_io_done() [all …]
|
H A D | vdev.c | 4574 vdev_queue_t *vq = &vd->vdev_queue; in vdev_deadman() local 4576 mutex_enter(&vq->vq_lock); in vdev_deadman() 4577 if (avl_numnodes(&vq->vq_active_tree) > 0) { in vdev_deadman() 4587 fio = avl_first(&vq->vq_active_tree); in vdev_deadman() 4593 vq->vq_io_complete_ts); in vdev_deadman() 4598 mutex_exit(&vq->vq_lock); in vdev_deadman()
|
/illumos-gate/usr/src/cmd/bhyve/ |
H A D | virtio.c | 107 for (vq = vs->vs_queues, i = 0; i < nvq; vq++, i++) { in vi_reset_dev() 108 vq->vq_flags = 0; in vi_reset_dev() 112 vq->vq_pfn = 0; in vi_reset_dev() 186 vq->vq_pfn = pfn; in vi_vq_init() 278 vs = vq->vq_vs; in vq_getchain() 316 req.idx = next = vq->vq_avail->ring[idx & (vq->vq_qsize - 1)]; in vq_getchain() 422 vuh = vq->vq_used; in vq_relchain_prepare() 438 vq->vq_used->idx = vq->vq_next_used; in vq_relchain_publish() 486 vs = vq->vq_vs; in vq_endchains() 488 vq->vq_save_used = new_idx = vq->vq_used->idx; in vq_endchains() [all …]
|
H A D | virtio.h | 318 #define VQ_AVAIL_EVENT_IDX(vq) \ argument 319 (*(uint16_t *)&(vq)->vq_used->ring[(vq)->vq_qsize]) 320 #define VQ_USED_EVENT_IDX(vq) \ argument 321 ((vq)->vq_avail->ring[(vq)->vq_qsize]) 327 vq_ring_ready(struct vqueue_info *vq) in vq_ring_ready() argument 330 return (vq->vq_flags & VQ_ALLOC); in vq_ring_ready() 338 vq_has_descs(struct vqueue_info *vq) in vq_has_descs() argument 341 return (vq_ring_ready(vq) && vq->vq_last_avail != in vq_has_descs() 342 vq->vq_avail->idx); in vq_has_descs() 390 vq_kick_enable(struct vqueue_info *vq) in vq_kick_enable() argument [all …]
|
H A D | pci_virtio_net.c | 235 struct vqueue_info *vq; in pci_vtnet_rx() local 286 vq_kick_enable(vq); in pci_vtnet_rx() 287 if (!vq_has_descs(vq)) { in pci_vtnet_rx() 302 vq_kick_disable(vq); in pci_vtnet_rx() 400 vq_relchain_publish(vq); in pci_vtnet_rx() 439 vq_kick_disable(vq); in pci_vtnet_ping_rxq() 500 if (!vq_has_descs(vq)) in pci_vtnet_ping_txq() 505 vq_kick_disable(vq); in pci_vtnet_ping_txq() 518 struct vqueue_info *vq; in pci_vtnet_tx_thread() local 534 vq_kick_enable(vq); in pci_vtnet_tx_thread() [all …]
|
H A D | pci_virtio_console.c | 225 uint16_t num = vq->vq_num; in pci_vtcon_vq_to_port() 434 struct vqueue_info *vq; in pci_vtcon_sock_rx() local 451 if (!vq_has_descs(vq)) { in pci_vtcon_sock_rx() 453 vq_endchains(vq, 1); in pci_vtcon_sock_rx() 466 vq_retchains(vq, 1); in pci_vtcon_sock_rx() 467 vq_endchains(vq, 0); in pci_vtcon_sock_rx() 477 vq_endchains(vq, 1); in pci_vtcon_sock_rx() 596 struct vqueue_info *vq; in pci_vtcon_control_send() local 603 if (!vq_has_descs(vq)) in pci_vtcon_control_send() 615 vq_endchains(vq, 1); in pci_vtcon_control_send() [all …]
|
H A D | pci_virtio_rnd.c | 107 pci_vtrnd_notify(void *vsc, struct vqueue_info *vq) in pci_vtrnd_notify() argument 117 vq_endchains(vq, 0); in pci_vtrnd_notify() 121 while (vq_has_descs(vq)) { in pci_vtrnd_notify() 122 n = vq_getchain(vq, &iov, 1, &req); in pci_vtrnd_notify() 135 vq_relchain(vq, req.idx, len); in pci_vtrnd_notify() 137 vq_endchains(vq, 1); /* Generate interrupt if appropriate. */ in pci_vtrnd_notify()
|
H A D | pci_virtio_input.c | 190 while (vq_has_descs(vq)) { in pci_vtinput_notify_statusq() 194 const int n = vq_getchain(vq, &iov, 1, &req); in pci_vtinput_notify_statusq() 216 vq_relchain(vq, req.idx, sizeof(event)); in pci_vtinput_notify_statusq() 232 vq_relchain(vq, req.idx, sizeof(event)); in pci_vtinput_notify_statusq() 234 vq_endchains(vq, 1); in pci_vtinput_notify_statusq() 514 if (!vq_has_descs(vq)) { in vtinput_eventqueue_send_events() 519 vq_retchains(vq, i); in vtinput_eventqueue_send_events() 529 const int n = vq_getchain(vq, &iov, 1, &req); in vtinput_eventqueue_send_events() 539 vq_relchain(vq, req.idx, 0); in vtinput_eventqueue_send_events() 546 vq_relchain(vq, req.idx, 0); in vtinput_eventqueue_send_events() [all …]
|
H A D | pci_virtio_viona.c | 410 pci_viona_control(struct vqueue_info *vq) in pci_viona_control() argument 477 vq_relchain(vq, req.idx, len); in pci_viona_control() 481 pci_viona_process_ctrlq(struct vqueue_info *vq) in pci_viona_process_ctrlq() argument 484 vq_kick_disable(vq); in pci_viona_process_ctrlq() 486 while (vq_has_descs(vq)) in pci_viona_process_ctrlq() 487 pci_viona_control(vq); in pci_viona_process_ctrlq() 489 vq_kick_enable(vq); in pci_viona_process_ctrlq() 497 if (!vq_has_descs(vq)) in pci_viona_process_ctrlq() 501 vq_endchains(vq, /* used_all_avail= */1); in pci_viona_process_ctrlq() 934 if (vq_has_descs(vq)) in pci_viona_qnotify() [all …]
|
H A D | pci_virtio_scsi.c | 577 pci_vtscsi_controlq_notify(void *vsc, struct vqueue_info *vq) in pci_vtscsi_controlq_notify() argument 588 while (vq_has_descs(vq)) { in pci_vtscsi_controlq_notify() 589 n = vq_getchain(vq, iov, VTSCSI_MAXSEG, &req); in pci_vtscsi_controlq_notify() 600 vq_relchain(vq, req.idx, iolen); in pci_vtscsi_controlq_notify() 602 vq_endchains(vq, 1); /* Generate interrupt if appropriate. */ in pci_vtscsi_controlq_notify() 607 pci_vtscsi_eventq_notify(void *vsc __unused, struct vqueue_info *vq) in pci_vtscsi_eventq_notify() argument 609 vq_kick_disable(vq); in pci_vtscsi_eventq_notify() 613 pci_vtscsi_requestq_notify(void *vsc, struct vqueue_info *vq) in pci_vtscsi_requestq_notify() argument 623 q = &sc->vss_queues[vq->vq_num - 2]; in pci_vtscsi_requestq_notify() 625 while (vq_has_descs(vq)) { in pci_vtscsi_requestq_notify() [all …]
|
H A D | pci_virtio_block.c | 281 pci_vtblk_proc(struct pci_vtblk_softc *sc, struct vqueue_info *vq) in pci_vtblk_proc() argument 293 n = vq_getchain(vq, iov, BLOCKIF_IOV_MAX + 2, &req); in pci_vtblk_proc() 409 pci_vtblk_notify(void *vsc, struct vqueue_info *vq) in pci_vtblk_notify() argument 413 while (vq_has_descs(vq)) in pci_vtblk_notify() 414 pci_vtblk_proc(sc, vq); in pci_vtblk_notify()
|
H A D | pci_virtio_9p.c | 202 pci_vt9p_notify(void *vsc, struct vqueue_info *vq) in pci_vt9p_notify() argument 212 while (vq_has_descs(vq)) { in pci_vt9p_notify() 213 n = vq_getchain(vq, iov, VT9P_MAX_IOV, &req); in pci_vt9p_notify()
|
/illumos-gate/usr/src/uts/common/sys/ |
H A D | vuid_queue.h | 53 #define vq_used(vq) ((vq)->num) argument 54 #define vq_avail(vq) ((vq)->size - (vq)->num) argument 55 #define vq_size(vq) ((vq)->size) argument 56 #define vq_is_empty(vq) ((vq)->top == VUID_Q_NODE_NULL) argument 57 #define vq_is_full(vq) ((vq)->num == (vq)->size) argument
|
/illumos-gate/usr/src/lib/libc/port/fp/ |
H A D | qdivrem.c | 81 ___qdivrem(u_longlong_t uq, u_longlong_t vq, u_longlong_t *arq) in ___qdivrem() argument 93 if (vq == 0) { in ___qdivrem() 102 if (uq < vq) { in ___qdivrem() 130 tmp.uq = vq; in ___qdivrem()
|
/illumos-gate/usr/src/boot/libsa/ |
H A D | qdivrem.c | 81 __udivmoddi4(u_quad_t uq, u_quad_t vq, u_quad_t *arq) in __udivmoddi4() argument 93 if (vq == 0) { in __udivmoddi4() 102 if (uq < vq) { in __udivmoddi4() 130 tmp.uq = vq; in __udivmoddi4()
|
/illumos-gate/usr/src/cmd/vrrpadm/ |
H A D | vrrpadm.c | 419 vrrp_queryinfo_t *vq; in do_show_router() local 422 if ((err = vrrp_query(vrrp_vh, vn, &vq)) != VRRP_SUCCESS) in do_show_router() 425 ofmt_print(ofmt, vq); in do_show_router() 426 free(vq); in do_show_router()
|
/illumos-gate/usr/src/uts/common/io/bnxe/577xx/drivers/common/lm/device/ |
H A D | bnxe_hw_debug.c | 184 int vq = -1; in _vq_hoq() local 199 if (vq_regname[15] == '_') vq = (int)(vq_regname[14] - '0'); in _vq_hoq() 200 … else if (vq_regname[16] == '_') vq = (int)(10 * (vq_regname[14] - '0') + vq_regname[15] - '0'); in _vq_hoq() 202 if ((vq <0) || (vq > 31)) { in _vq_hoq() 208 REG_WR(pdev,PXP2_REG_RQ_HOQ_RAM_RD_REQ,vq); in _vq_hoq() 238 vq, len, addr_hi, addr_lo, clients[client_id], req_id, done, func_desc, atc); in _vq_hoq()
|
/illumos-gate/usr/src/uts/intel/io/viona/ |
H A D | viona_main.c | 1065 const uint16_t vq = *val; in viona_notify_iop() local 1066 if (vq >= VIONA_VQ_MAX) { in viona_notify_iop() 1070 viona_vring_t *ring = &link->l_vrings[vq]; in viona_notify_iop()
|
/illumos-gate/usr/src/uts/common/io/vioscsi/ |
H A D | vioscsi.c | 525 virtio_queue_t *vq, int sleep) in vioscsi_req_init() argument 531 req->vr_vq = vq; in vioscsi_req_init() 535 req->vr_vic = virtio_chain_alloc(vq, sleep); in vioscsi_req_init()
|
/illumos-gate/usr/src/cmd/cmd-inet/usr.lib/in.ripngd/ |
H A D | tables.c | 64 typedef struct vq { struct
|