Home
last modified time | relevance | path

Searched full:queue (Results 1 – 25 of 433) sorted by relevance

12345678910>>...18

/qemu/net/
H A Dqueue.c25 #include "net/queue.h"
26 #include "qemu/queue.h"
36 * until we have invoked the callback. Only in that case will we queue
65 NetQueue *queue; in qemu_new_net_queue() local
67 queue = g_new0(NetQueue, 1); in qemu_new_net_queue()
69 queue->opaque = opaque; in qemu_new_net_queue()
70 queue->nq_maxlen = 10000; in qemu_new_net_queue()
71 queue->nq_count = 0; in qemu_new_net_queue()
72 queue->deliver = deliver; in qemu_new_net_queue()
74 QTAILQ_INIT(&queue->packets); in qemu_new_net_queue()
[all …]
/qemu/ui/
H A Dvnc-jobs.c41 * - jobs queue lock: for each operation on the queue (push, pop, isEmpty?)
67 * We use a single global queue, but most of the functions are
70 static VncJobQueue *queue; variable
72 static void vnc_lock_queue(VncJobQueue *queue) in vnc_lock_queue() argument
74 qemu_mutex_lock(&queue->mutex); in vnc_lock_queue()
77 static void vnc_unlock_queue(VncJobQueue *queue) in vnc_unlock_queue() argument
79 qemu_mutex_unlock(&queue->mutex); in vnc_unlock_queue()
88 vnc_lock_queue(queue); in vnc_job_new()
90 vnc_unlock_queue(queue); in vnc_job_new()
105 vnc_lock_queue(queue); in vnc_job_add_rect()
[all …]
H A Dinput.c236 QemuInputEventQueueHead *queue = opaque; in qemu_input_queue_process() local
239 g_assert(!QTAILQ_EMPTY(queue)); in qemu_input_queue_process()
240 item = QTAILQ_FIRST(queue); in qemu_input_queue_process()
242 QTAILQ_REMOVE(queue, item, node); in qemu_input_queue_process()
246 while (!QTAILQ_EMPTY(queue)) { in qemu_input_queue_process()
247 item = QTAILQ_FIRST(queue); in qemu_input_queue_process()
261 QTAILQ_REMOVE(queue, item, node); in qemu_input_queue_process()
267 static void qemu_input_queue_delay(QemuInputEventQueueHead *queue, in qemu_input_queue_delay() argument
271 bool start_timer = QTAILQ_EMPTY(queue); in qemu_input_queue_delay()
276 QTAILQ_INSERT_TAIL(queue, item, node); in qemu_input_queue_delay()
[all …]
/qemu/include/system/
H A Dcryptodev-vhost.h52 * Get the maximum queue number of @crypto.
55 * Returns: the maximum queue number
91 * @cc: the client object for each queue
93 * @queue: the cryptodev backend queue index
96 * @b and @queue
103 uint16_t queue);
107 * @total_queues: the total count of queue
118 * @total_queues: the total count of queue
128 * @queue: the cryptodev backend queue index
136 int queue,
[all …]
H A Dreplay.h109 * Processes the async events added to the queue (while recording)
114 /* Asynchronous events queue */
116 /*! Enables storing events in the queue */
120 /* Flushes events queue */
122 /*! Adds bottom half event to the queue */
124 /* Adds oneshot bottom half event to the queue */
127 /*! Adds input event to the queue */
129 /*! Adds input sync event to the queue */
131 /*! Adds block layer event to the queue */
H A Dcryptodev-vhost-user.h35 * @cc: the client object for each queue
37 * @queue: the queue index
40 * @b and @queue
48 uint16_t queue);
/qemu/hw/usb/
H A Dhcd-uhci.c80 UHCIQueue *queue; member
126 UHCIQueue *queue; in uhci_queue_new() local
128 queue = g_new0(UHCIQueue, 1); in uhci_queue_new()
129 queue->uhci = s; in uhci_queue_new()
130 queue->qh_addr = qh_addr; in uhci_queue_new()
131 queue->token = uhci_queue_token(td); in uhci_queue_new()
132 queue->ep = ep; in uhci_queue_new()
133 QTAILQ_INIT(&queue->asyncs); in uhci_queue_new()
134 QTAILQ_INSERT_HEAD(&s->queues, queue, next); in uhci_queue_new()
135 queue->valid = QH_VALID; in uhci_queue_new()
[all …]
/qemu/hw/nvme/
H A Dtrace-events51 … sqid, uint16_t cqid, uint16_t qsize, uint16_t qflags) "create submission queue, addr=0x%"PRIx64",…
52 …t16_t vector, uint16_t size, uint16_t qflags, int ien) "create completion queue, addr=0x%"PRIx64",…
53 pci_nvme_del_sq(uint16_t qid) "deleting submission queue sqid=%"PRIu16""
54 pci_nvme_del_cq(uint16_t cqid) "deleted completion queue, cqid=%"PRIu16""
97 pci_nvme_mmio_aqattr(uint64_t data) "wrote MMIO, admin queue attributes=0x%"PRIx64""
98 pci_nvme_mmio_asqaddr(uint64_t data) "wrote MMIO, admin submission queue address=0x%"PRIx64""
99 pci_nvme_mmio_acqaddr(uint64_t data) "wrote MMIO, admin completion queue address=0x%"PRIx64""
100 pci_nvme_mmio_asqaddr_hi(uint64_t data, uint64_t new_addr) "wrote MMIO, admin submission queue high…
101 pci_nvme_mmio_acqaddr_hi(uint64_t data, uint64_t new_addr) "wrote MMIO, admin completion queue high…
159 pci_nvme_err_invalid_del_sq(uint16_t qid) "invalid submission queue deletion, sid=%"PRIu16""
[all …]
/qemu/include/qemu/
H A Dcoroutine.h20 #include "qemu/queue.h"
60 /* A queue of waiters. Elements are added atomically in front of
91 * CoQueues are a mechanism to queue coroutines in order to continue executing
103 void qemu_co_queue_init(CoQueue *queue);
107 * Enqueue at front instead of back. Use this to re-queue a request when
118 #define qemu_co_queue_wait(queue, lock) \ argument
119 qemu_co_queue_wait_impl(queue, QEMU_MAKE_LOCKABLE(lock), 0)
120 #define qemu_co_queue_wait_flags(queue, lock, flags) \ argument
121 qemu_co_queue_wait_impl(queue, QEMU_MAKE_LOCKABLE(lock), (flags))
122 void coroutine_fn qemu_co_queue_wait_impl(CoQueue *queue, QemuLockable *lock,
[all …]
/qemu/subprojects/libvhost-user/
H A Dlibvhost-user.h264 * If the queue is processed in order, in which case it will be
315 * Backend could get it from queue size field of VhostUserInflight.
524 * @qidx: queue index
526 * Returns the queue number @qidx.
533 * @vq: a VuVirtq queue
534 * @handler: the queue handler callback
536 * Set the queue handler. This function may be called several times
537 * for the same queue. If called with NULL @handler, the handler is
546 * @vq: a VuVirtq queue
551 * Set queue's host notifier. This function may be called several
[all …]
/qemu/tests/qtest/fuzz/
H A Dvirtio_scsi_fuzz.c74 uint8_t queue; in virtio_scsi_fuzz() member
81 /* Keep track of the free head for each queue we interact with */ in virtio_scsi_fuzz()
92 /* Copy the action, so we can normalize length, queue and flags */ in virtio_scsi_fuzz()
98 vqa.queue = vqa.queue % queues->num_queues; in virtio_scsi_fuzz()
106 q = queues->vq[vqa.queue]; in virtio_scsi_fuzz()
111 if (vq_touched[vqa.queue] == 0) { in virtio_scsi_fuzz()
112 vq_touched[vqa.queue] = 1; in virtio_scsi_fuzz()
113 free_head[vqa.queue] = qvirtqueue_add(s, q, req_addr, vqa.length, in virtio_scsi_fuzz()
120 qvirtqueue_kick(s, dev, q, free_head[vqa.queue]); in virtio_scsi_fuzz()
121 free_head[vqa.queue] = 0; in virtio_scsi_fuzz()
[all …]
H A Dvirtio_blk_fuzz.c71 uint8_t queue; in virtio_blk_fuzz() member
78 /* Keep track of the free head for each queue we interact with */ in virtio_blk_fuzz()
89 /* Copy the action, so we can normalize length, queue and flags */ in virtio_blk_fuzz()
95 vqa.queue = vqa.queue % queues->num_queues; in virtio_blk_fuzz()
102 q = queues->vq[vqa.queue]; in virtio_blk_fuzz()
107 if (vq_touched[vqa.queue] == 0) { in virtio_blk_fuzz()
108 vq_touched[vqa.queue] = 1; in virtio_blk_fuzz()
109 free_head[vqa.queue] = qvirtqueue_add(s, q, req_addr, vqa.length, in virtio_blk_fuzz()
116 qvirtqueue_kick(s, dev, q, free_head[vqa.queue]); in virtio_blk_fuzz()
117 free_head[vqa.queue] = 0; in virtio_blk_fuzz()
[all …]
/qemu/backends/
H A Dcryptodev-vhost.c66 /* vhost-user needs vq_index to initiate a specific queue pair */ in cryptodev_vhost_init()
120 uint16_t queue) in cryptodev_get_vhost() argument
131 vhost_crypto = cryptodev_vhost_user_get_vhost(cc, b, queue); in cryptodev_get_vhost()
151 uint16_t queue, int enable) in vhost_set_vring_enable() argument
154 cryptodev_get_vhost(cc, b, queue); in vhost_set_vring_enable()
272 int queue, in cryptodev_vhost_virtqueue_mask() argument
280 assert(queue < MAX_CRYPTO_QUEUE_NUM); in cryptodev_vhost_virtqueue_mask()
282 cc = b->conf.peers.ccs[queue]; in cryptodev_vhost_virtqueue_mask()
283 vhost_crypto = cryptodev_get_vhost(cc, b, queue); in cryptodev_vhost_virtqueue_mask()
289 int queue, int idx) in cryptodev_vhost_virtqueue_pending() argument
[all …]
/qemu/include/standard-headers/linux/
H A Dvirtio_mmio.h77 /* Queue selector - Write Only */
80 /* Maximum size of the currently selected queue - Read Only */
83 /* Queue size for the currently selected queue - Write Only */
89 /* Used Ring alignment for the currently selected queue - Write Only */
92 /* Guest's PFN for the currently selected queue - Read Write */
98 /* Ready bit for the currently selected queue - Read Write */
101 /* Queue notifier - Write Only */
113 /* Selected queue's Descriptor Table address, 64 bits in two halves */
117 /* Selected queue's Available Ring address, 64 bits in two halves */
121 /* Selected queue's Used Ring address, 64 bits in two halves */
/qemu/include/net/
H A Dqueue.h38 * 0 - queue packet for future redelivery
49 void qemu_net_queue_append_iov(NetQueue *queue,
56 void qemu_del_net_queue(NetQueue *queue);
58 ssize_t qemu_net_queue_receive(NetQueue *queue,
62 ssize_t qemu_net_queue_send(NetQueue *queue,
69 ssize_t qemu_net_queue_send_iov(NetQueue *queue,
76 void qemu_net_queue_purge(NetQueue *queue, NetClientState *from);
77 bool qemu_net_queue_flush(NetQueue *queue);
/qemu/qapi/
H A Dvirtio.json142 # @queue-sel: VirtIODevice queue_sel
179 'queue-sel': 'uint16',
259 # "queue-sel": 1,
431 # "queue-sel": 2,
508 # @queue-index: VirtQueue queue_index
539 'queue-index': 'uint16',
554 # @x-query-virtio-queue-status:
560 # @queue: VirtQueue index to examine
570 # VirtIODevice VirtQueue index (queue) does not exist for the
583 # -> { "execute": "x-query-virtio-queue-status",
[all …]
/qemu/util/
H A Dqemu-coroutine-lock.c32 #include "qemu/queue.h"
36 void qemu_co_queue_init(CoQueue *queue) in qemu_co_queue_init() argument
38 QSIMPLEQ_INIT(&queue->entries); in qemu_co_queue_init()
41 void coroutine_fn qemu_co_queue_wait_impl(CoQueue *queue, QemuLockable *lock, in qemu_co_queue_wait_impl() argument
46 QSIMPLEQ_INSERT_HEAD(&queue->entries, self, co_queue_next); in qemu_co_queue_wait_impl()
48 QSIMPLEQ_INSERT_TAIL(&queue->entries, self, co_queue_next); in qemu_co_queue_wait_impl()
65 * mutex's queue. This avoids the thundering herd effect. in qemu_co_queue_wait_impl()
74 bool qemu_co_enter_next_impl(CoQueue *queue, QemuLockable *lock) in qemu_co_enter_next_impl() argument
78 next = QSIMPLEQ_FIRST(&queue->entries); in qemu_co_enter_next_impl()
83 QSIMPLEQ_REMOVE_HEAD(&queue->entries, co_queue_next); in qemu_co_enter_next_impl()
[all …]
/qemu/
H A Dhmp-commands-info.hx928 .name = "virtio-queue-status",
929 .args_type = "path:s,queue:i",
930 .params = "path queue",
931 .help = "Display status of a given virtio queue",
937 ``info virtio-queue-status`` *path* *queue*
938 Display status of a given virtio queue
942 .name = "virtio-vhost-queue-status",
943 .args_type = "path:s,queue:i",
944 .params = "path queue",
945 .help = "Display status of a given vhost queue",
[all …]
/qemu/hw/i386/
H A Dvmmouse.c66 uint32_t queue[VMMOUSE_QUEUE_SIZE]; member
131 s->queue[s->nb_queue++] = buttons; in vmmouse_mouse_event()
132 s->queue[s->nb_queue++] = x; in vmmouse_mouse_event()
133 s->queue[s->nb_queue++] = y; in vmmouse_mouse_event()
134 s->queue[s->nb_queue++] = dz; in vmmouse_mouse_event()
137 read from queue */ in vmmouse_mouse_event()
173 s->queue[s->nb_queue++] = VMMOUSE_VERSION; in vmmouse_read_id()
214 data[i] = s->queue[i]; in vmmouse_data()
218 memmove(s->queue, &s->queue[size], sizeof(s->queue[0]) * s->nb_queue); in vmmouse_data()
282 VMSTATE_UINT32_ARRAY(queue, VMMouseState, VMMOUSE_QUEUE_SIZE),
/qemu/hw/riscv/
H A Driscv-iommu-bits.h23 * struct riscv_iommu_fq_record - Fault/Event Queue Record
41 * For more infos on the PCIe Page Request queue see chapter 3.3.
125 /* 5.6 Command Queue Base (64bits) */
130 /* 5.7 Command Queue head (32bits) */
133 /* 5.8 Command Queue tail (32bits) */
136 /* 5.9 Fault Queue Base (64bits) */
141 /* 5.10 Fault Queue Head (32bits) */
144 /* 5.11 Fault Queue tail (32bits) */
147 /* 5.12 Page Request Queue base (64bits) */
152 /* 5.13 Page Request Queue head (32bits) */
[all …]
/qemu/include/hw/xen/interface/io/
H A Dblkif.h173 * backend driver paired with a LIFO queue in the frontend will
333 * mapped grants in a LIFO queue, so a subset of all persistently mapped
418 * If supported, the backend will write the key "multi-queue-max-queues" to
422 * key "multi-queue-num-queues" with the number they wish to use, which must be
424 * "multi-queue-max-queues".
426 * For frontends requesting just one queue, the usual event-channel and
429 * multi-queue feature, and one that does, but requested only one queue.
433 * having the name "queue-N" where N is the integer ID of the queue/ring for
436 * queue-related keys:
438 * /local/domain/1/device/vbd/0/multi-queue-num-queues = "2"
[all …]
/qemu/contrib/vhost-user-input/
H A Dmain.c35 } *queue; member
46 /* queue up events ... */ in vi_input_send()
49 vi->queue = g_realloc_n(vi->queue, vi->qsize, sizeof(vi->queue[0])); in vi_input_send()
51 vi->queue[vi->qindex++].event = *event; in vi_input_send()
64 vu_queue_unpop(dev, vq, vi->queue[i].elem, 0); in vi_input_send()
67 g_warning("virtio-input queue full"); in vi_input_send()
70 vi->queue[i].elem = elem; in vi_input_send()
75 elem = vi->queue[i].elem; in vi_input_send()
77 0, &vi->queue[i].event, sizeof(virtio_input_event)); in vi_input_send()
177 g_debug("queue started %d:%d", qidx, started); in vi_queue_set_started()
[all …]
/qemu/scripts/qemugdb/
H A Dmtree.py35 self.queue = []
43 self.queue.append(ptr)
45 while self.queue:
46 ptr = self.queue.pop(0)
80 self.queue.append(alias)
/qemu/include/hw/audio/
H A Dvirtio-snd.h114 /* Used for the TX queue for lazy I/O copy from `elem` */
153 QSIMPLEQ_HEAD(, VirtIOSoundPCMBuffer) queue;
206 * `virtio_snd_handle_ctrl()` queue callback and are of type `struct
207 * virtio_snd_ctrl_command`. They are stored in a queue field in the device
226 * Convenience queue to keep track of invalid tx/rx queue messages inside
230 * each message and we cannot add an invalid message back to the queue: we
233 * Instead, we add them to this queue and after finishing examining every
236 * This queue must be empty at all times except for inside the tx/rx
/qemu/docs/system/s390x/
H A Dvfio-ap.rst49 * AP Queue
51 An AP queue is the means by which an AP command-request message is sent to an
52 AP usage domain inside a specific AP. An AP queue is identified by a tuple
53 comprised of an AP adapter ID (APID) and an AP queue index (APQI). The
55 forms an AP Queue Number (APQN) uniquely identifying an AP queue. AP
56 instructions include a field containing the APQN to identify the AP queue to
63 * NQAP: to enqueue an AP command-request message to a queue
64 * DQAP: to dequeue an AP command-reply message from a queue
87 * The AP Queue Mask (AQM) field is a bit mask identifying the AP usage domains
89 corresponds to an AP queue index (APQI) from 0-255. If a bit is set, the
[all …]

12345678910>>...18