Home
last modified time | relevance | path

Searched refs:ring (Results 1 – 25 of 25) sorted by relevance

/spdk/test/common/lib/
H A Dtest_env.c423 struct spdk_ring *ring; in spdk_ring_create()
427 ring = calloc(1, sizeof(*ring)); in spdk_ring_create()
428 if (!ring) { in spdk_ring_create()
432 if (pthread_mutex_init(&ring->lock, NULL)) { in spdk_ring_create()
433 free(ring);
437 TAILQ_INIT(&ring->elements); in spdk_ring_free()
438 return ring; in spdk_ring_free()
442 spdk_ring_free(struct spdk_ring *ring) in spdk_ring_free()
446 if (!ring) { in spdk_ring_free()
416 struct spdk_ring *ring; spdk_ring_create() local
435 spdk_ring_free(struct spdk_ring * ring) spdk_ring_free() argument
453 spdk_ring_enqueue(struct spdk_ring * ring,void ** objs,size_t count,size_t * free_space) spdk_ring_enqueue() argument
480 spdk_ring_dequeue(struct spdk_ring * ring,void ** objs,size_t count) spdk_ring_dequeue() argument
512 spdk_ring_count(struct spdk_ring * ring) spdk_ring_count() argument
[all...]
/spdk/include/linux/
H A Dvirtio_ring.h105 __virtio16 ring[]; member
119 struct vring_used_elem ring[]; member
165 #define vring_used_event(vr) ((vr)->avail->ring[(vr)->num])
166 #define vring_avail_event(vr) (*(__virtio16 *)&(vr)->used->ring[(vr)->num])
176 vr->used = (void *)(((uintptr_t)&vr->avail->ring[num] + sizeof(__virtio16) in vring_init()
/spdk/lib/trace/
H A Dtrace_flags.c17 uint16_t *ring; member
296 if (g_owner_ids.ring == NULL) { in spdk_trace_register_owner()
311 owner_id = g_owner_ids.ring[g_owner_ids.head]; in spdk_trace_register_owner()
327 if (g_owner_ids.ring == NULL) { in spdk_trace_unregister_owner()
342 g_owner_ids.ring[g_owner_ids.tail] = owner_id; in spdk_trace_unregister_owner()
352 if (g_owner_ids.ring == NULL) { in spdk_trace_owner_set_description()
367 if (g_owner_ids.ring == NULL) { in spdk_trace_owner_append_description()
602 g_owner_ids.ring = calloc(g_trace_file->num_owners, sizeof(uint16_t)); in trace_flags_init()
603 if (g_owner_ids.ring == NULL) { in trace_flags_init()
611 g_owner_ids.ring[i] = i + owner_id_start; in trace_flags_init()
[all …]
/spdk/module/bdev/aio/
H A Dbdev_aio.c390 struct spdk_aio_ring *ring; in bdev_user_io_getevents()
394 ring = (struct spdk_aio_ring *)io_ctx; in bdev_user_io_getevents()
396 if (spdk_unlikely(ring->version != SPDK_AIO_RING_VERSION || ring->incompat_features != 0)) { in bdev_user_io_getevents()
403 /* Read the current state out of the ring */ in bdev_user_io_getevents()
404 head = ring->head; in bdev_user_io_getevents()
405 tail = ring->tail; in bdev_user_io_getevents()
412 /* Calculate how many items are in the circular ring */ in bdev_user_io_getevents()
415 count += ring->size; in bdev_user_io_getevents()
422 kevents = (struct io_event *)((uintptr_t)ring in bdev_user_io_getevents()
371 struct spdk_aio_ring *ring; bdev_user_io_getevents() local
[all...]
/spdk/lib/ioat/
H A Dioat.c123 *desc = &ioat->ring[i]; in ioat_get_ring_entry()
315 desc = &ioat->ring[tail]; in ioat_process_channel_events()
336 if (ioat->ring) { in ioat_channel_destruct()
337 free(ioat->ring); in ioat_channel_destruct()
412 ioat->ring = calloc(num_descriptors, sizeof(struct ioat_descriptor)); in ioat_channel_start()
413 if (!ioat->ring) { in ioat_channel_start()
430 ioat->ring[i].phys_addr = phys_addr; in ioat_channel_start()
442 ioat_write_chainaddr(ioat, ioat->ring[0].phys_addr); in ioat_channel_start()
630 * Ran out of descriptors in the ring - reset head to leave things as they were in spdk_ioat_build_copy()
703 * Ran out of descriptors in the ring in spdk_ioat_build_fill()
[all...]
H A Dioat_internal.h40 struct ioat_descriptor *ring; member
/spdk/lib/ublk/
H A Dublk.c109 /* ring depth == dev_info->queue_depth. */ member
110 struct io_uring ring;
434 struct io_uring *ring = &g_ublk_tgt.ctrl_ring; in ublk_ctrl_cmd_submit()
444 rc = io_uring_peek_cqe(ring, &cqe); in ublk_ctrl_cmd_submit()
454 io_uring_cqe_seen(ring, cqe); in ublk_ctrl_cmd_submit()
473 SPDK_ERRLOG("No available sqe in ctrl ring\n"); in ublk_ctrl_cmd_submit()
538 SPDK_ERRLOG("No available sqe in ctrl ring\n"); in ublk_ctrl_cmd_get_features()
609 * ring processing to a workqueue. Ctrl ring processing is minimal, so SQPOLL is fine. in ublk_open()
1152 sqe = io_uring_get_sqe(&q->ring);
399 struct io_uring *ring = &g_ublk_tgt.ctrl_ring; ublk_ctrl_poller() local
[all...]
/spdk/test/vfio_user/virtio/
H A Dinitiator_bdevperf.sh28 --num-queues=2 --qsize=256 --packed-ring
32 --qsize=256 --packed-ring
H A Dfio_restart_vm.sh47 …io_create_blk_endpoint virtio.$disk_no --bdev-name Nvme0n1 --num-queues=2 --qsize=512 --packed-ring
49 $rpc_py vfu_virtio_create_scsi_endpoint virtio.$disk_no --num-io-queues=2 --qsize=512 --packed-ring
/spdk/test/unit/lib/sock/uring.c/
H A During_ut.c27 DEFINE_STUB(io_uring_submit, int, (struct io_uring *ring), 0);
28 DEFINE_STUB(io_uring_queue_init, int, (unsigned entries, struct io_uring *ring, unsigned flags), 0);
29 DEFINE_STUB_V(io_uring_queue_exit, (struct io_uring *ring));
/spdk/test/unit/lib/vhost/vhost.c/
H A Dvhost_ut.c481 vq.vring.avail->ring[i] = i; in vq_avail_ring_get_test()
488 CU_ASSERT(reqs[i] == vq.vring.avail->ring[i + 24]); in vq_avail_ring_get_test()
500 CU_ASSERT(reqs[i] == vq.vring.avail->ring[i + 20]); in vq_avail_ring_get_test()
518 CU_ASSERT(reqs[0] == vq.vring.avail->ring[31]); in vq_avail_ring_get_test()
520 CU_ASSERT(reqs[i] == vq.vring.avail->ring[i - 1]); in vq_avail_ring_get_test()
/spdk/doc/
H A Dnvme_spec.md25 of commands into open slots in the ring and then write the doorbell just one
39 entries into the ring. Each entry contains a "phase" bit that toggles between 0
40 and 1 on each loop through the entire ring. When a queue pair is set up to
48 Now that we know how the ring structures work, let's cover how the SPDK NVMe
H A Dnotify.md7 The event bus is implemented as a circular ring of fixed size. If event consumers
H A Duserspace.md14 drivers run in kernel space (i.e. ring 0 on x86). SPDK contains drivers that
H A Dvhost_processing.md27 of three different single-producer, single-consumer ring structures designed to
H A Dconcurrency.md43 [lockless ring](http://dpdk.org/doc/guides/prog_guide/ring_lib.html). Message
/spdk/module/bdev/uring/
H A Dbdev_uring.c246 bdev_uring_reap(struct io_uring *ring, int max) in bdev_uring_reap()
255 ret = io_uring_peek_cqe(ring, &cqe); in bdev_uring_reap()
272 io_uring_cqe_seen(ring, cqe); in bdev_uring_reap()
245 bdev_uring_reap(struct io_uring * ring,int max) bdev_uring_reap() argument
/spdk/lib/vhost/
H A Drte_vhost_user.c79 SPDK_ERRLOG("Can't log used ring descriptors!\n"); in vhost_log_req_desc()
110 offset = offsetof(struct vring_used, ring[idx]); in vhost_log_used_vring_elem()
111 len = sizeof(virtqueue->vring.used->ring[idx]); in vhost_log_used_vring_elem()
136 * Get available requests from avail ring.
193 reqs[i] = vring->avail->ring[(last_idx + i) & size_mask]; in vhost_vq_avail_ring_get()
274 /* In packed ring when the desc is non-indirect we get next desc in vhost_vq_get_desc_packed()
277 * different from split ring. in vhost_vq_get_desc_packed()
440 * Enqueue id and len to used ring.
459 used->ring[last_idx].id = id;
460 used->ring[last_id
[all...]
/spdk/lib/virtio/
H A Dvirtio.c346 uep = &vq->vq_ring.used->ring[used_idx]; in virtqueue_dequeue_burst_rx()
385 vq->vq_ring.avail->ring[avail_idx] = vq->req_start; in finish_req()
H A Dvirtio_vfio_user.c249 used_addr = (avail_addr + offsetof(struct vring_avail, ring[vq->vq_nentries]) in virtio_vfio_user_setup_queue()
H A Dvirtio_pci.c442 used_addr = (avail_addr + offsetof(struct vring_avail, ring[vq->vq_nentries]) in modern_setup_queue()
H A Dvirtio_vhost_user.c925 ring[vq->vq_nentries]), in virtio_user_setup_queue()
/spdk/test/vhost/perf_bench/
H A Dvhost_perf.sh78 echo " --packed-ring Use packed ring support. Requires Qemu 4.2.0 or greater. Default: disabled."
200 packed-ring) packed_ring=true ;;
/spdk/module/vfu_device/
H A Dvfu_virtio.c343 reqs[i] = vq->avail.avail->ring[(last_idx + i) & (vq->qsize - 1)]; in virtio_dev_split_get_avail_reqs()
552 vq->used.used->ring[last_idx].id = req_idx; in virtio_vq_used_ring_split_enqueue()
553 vq->used.used->ring[last_idx].len = used_len; in virtio_vq_used_ring_split_enqueue()
/spdk/test/common/config/pkgdep/patches/qat/
H A D0001-strlcpy-to-strscpy.patch