/illumos-gate/usr/src/uts/common/io/ |
H A D | vuid_queue.c | 36 static Vuid_q_node *vq_alloc_node(Vuid_queue *vq); 37 static void vq_free_node(Vuid_queue *vq, Vuid_q_node *vqn); 48 vq_initialize(Vuid_queue *vq, caddr_t data, u_int bytes) in vq_initialize() argument 53 vq->top = vq->bottom = vq->free = VUID_Q_NODE_NULL; in vq_initialize() 54 vq->size = 1 + (bytes - sizeof (Vuid_q_node)) / sizeof (Vuid_q_node); in vq_initialize() 57 vq->num = vq->size; in vq_initialize() 58 for (vqn = new_vqns; vqn < new_vqns + vq->size; vqn++) in vq_initialize() 59 vq_free_node(vq, vqn); in vq_initialize() 63 vq_put(Vuid_queue *vq, Firm_event *firm_event) in vq_put() argument 68 for (vp = vq->bottom; vp; vp = vp->prev) { in vq_put() [all …]
|
/illumos-gate/usr/src/uts/common/fs/zfs/ |
H A D | vdev_queue.c | 226 vdev_queue_class_tree(vdev_queue_t *vq, zio_priority_t p) in vdev_queue_class_tree() argument 228 return (&vq->vq_class[p].vqc_queued_tree); in vdev_queue_class_tree() 232 vdev_queue_type_tree(vdev_queue_t *vq, zio_type_t t) in vdev_queue_type_tree() argument 236 return (&vq->vq_read_offset_tree); in vdev_queue_type_tree() 238 return (&vq->vq_write_offset_tree); in vdev_queue_type_tree() 240 return (&vq->vq_trim_offset_tree); in vdev_queue_type_tree() 260 vdev_queue_t *vq = &vd->vdev_queue; in vdev_queue_init() local 262 mutex_init(&vq->vq_lock, NULL, MUTEX_DEFAULT, NULL); in vdev_queue_init() 263 vq->vq_vdev = vd; in vdev_queue_init() 265 avl_create(&vq->vq_active_tree, vdev_queue_offset_compare, in vdev_queue_init() [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 | 100 struct vqueue_info *vq; in vi_reset_dev() local 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() 109 vq->vq_last_avail = 0; in vi_reset_dev() 110 vq->vq_next_used = 0; in vi_reset_dev() 111 vq->vq_save_used = 0; in vi_reset_dev() 112 vq->vq_pfn = 0; in vi_reset_dev() 113 vq->vq_msix_idx = VIRTIO_MSI_NO_VECTOR; in vi_reset_dev() 180 struct vqueue_info *vq; in vi_vq_init() local 185 vq = &vs->vs_queues[vs->vs_curq]; in vi_vq_init() [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() 383 vq_interrupt(struct virtio_softc *vs, struct vqueue_info *vq) in vq_interrupt() argument [all …]
|
H A D | pci_virtio_net.c | 235 struct vqueue_info *vq; in pci_vtnet_rx() local 238 vq = &sc->vsc_queues[VTNET_RXQ]; in pci_vtnet_rx() 261 vq_endchains(vq, /*used_all_avail=*/0); in pci_vtnet_rx() 277 int n = vq_getchain(vq, riov, VTNET_MAXSEGS - riov_len, in pci_vtnet_rx() 286 vq_kick_enable(vq); in pci_vtnet_rx() 287 if (!vq_has_descs(vq)) { in pci_vtnet_rx() 295 vq_retchains(vq, n_chains); in pci_vtnet_rx() 296 vq_endchains(vq, /*used_all_avail=*/1); in pci_vtnet_rx() 302 vq_kick_disable(vq); in pci_vtnet_rx() 311 vq_retchains(vq, n_chains); in pci_vtnet_rx() [all …]
|
H A D | pci_virtio_console.c | 223 pci_vtcon_vq_to_port(struct pci_vtcon_softc *sc, struct vqueue_info *vq) in pci_vtcon_vq_to_port() argument 225 uint16_t num = vq->vq_num; in pci_vtcon_vq_to_port() 434 struct vqueue_info *vq; in pci_vtcon_sock_rx() local 441 vq = pci_vtcon_port_to_vq(port, true); in pci_vtcon_sock_rx() 451 if (!vq_has_descs(vq)) { in pci_vtcon_sock_rx() 453 vq_endchains(vq, 1); in pci_vtcon_sock_rx() 461 n = vq_getchain(vq, &iov, 1, &req); 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() 474 vq_relchain(vq, req.idx, len); in pci_vtcon_sock_rx() [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 | 180 pci_vtinput_notify_eventq(void *vsc __unused, struct vqueue_info *vq __unused) in pci_vtinput_notify_eventq() 186 pci_vtinput_notify_statusq(void *vsc, struct vqueue_info *vq) in pci_vtinput_notify_statusq() argument 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() 506 struct vtinput_eventqueue *queue, struct vqueue_info *vq) in vtinput_eventqueue_send_events() argument 514 if (!vq_has_descs(vq)) { in vtinput_eventqueue_send_events() 519 vq_retchains(vq, i); in vtinput_eventqueue_send_events() [all …]
|
H A D | pci_virtio_viona.c | 296 pci_viona_control_rx(struct vqueue_info *vq, const virtio_net_ctrl_hdr_t *hdr, in pci_viona_control_rx() argument 299 struct pci_viona_softc *sc = (struct pci_viona_softc *)vq->vq_vs; in pci_viona_control_rx() 354 pci_viona_control_mac(struct vqueue_info *vq, const virtio_net_ctrl_hdr_t *hdr, in pci_viona_control_mac() argument 357 struct pci_viona_softc *sc = (struct pci_viona_softc *)vq->vq_vs; in pci_viona_control_mac() 410 pci_viona_control(struct vqueue_info *vq) in pci_viona_control() argument 421 n = vq_getchain(vq, iov, VIONA_CTLQ_MAXSEGS, &req); in pci_viona_control() 460 *ackp = pci_viona_control_rx(vq, hdr, siov, nsiov); in pci_viona_control() 463 *ackp = pci_viona_control_mac(vq, hdr, siov, nsiov); in pci_viona_control() 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 [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
|