Home
last modified time | relevance | path

Searched refs:vq (Results 1 – 21 of 21) sorted by relevance

/illumos-gate/usr/src/uts/common/io/
H A Dvuid_queue.c36 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 Dvdev_queue.c226 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 Dvdev.c4574 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 Dvirtio.c100 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 Dvirtio.h318 #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 Dpci_virtio_net.c235 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 Dpci_virtio_console.c223 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 Dpci_virtio_rnd.c107 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 Dpci_virtio_input.c180 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 Dpci_virtio_viona.c296 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 Dpci_virtio_scsi.c577 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 Dpci_virtio_block.c281 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 Dpci_virtio_9p.c202 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 Dvuid_queue.h53 #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 Dqdivrem.c81 ___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 Dqdivrem.c81 __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 Dvrrpadm.c419 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 Dbnxe_hw_debug.c184 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 Dviona_main.c1065 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 Dvioscsi.c525 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 Dtables.c64 typedef struct vq { struct