| /spdk/test/common/lib/ |
| H A D | test_env.c | 423 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 D | virtio_ring.h | 105 __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 D | trace_flags.c | 17 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 D | bdev_aio.c | 390 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 D | ioat.c | 123 *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 D | ioat_internal.h | 40 struct ioat_descriptor *ring; member
|
| /spdk/lib/ublk/ |
| H A D | ublk.c | 109 /* 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 D | initiator_bdevperf.sh | 28 --num-queues=2 --qsize=256 --packed-ring 32 --qsize=256 --packed-ring
|
| H A D | fio_restart_vm.sh | 47 …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 D | uring_ut.c | 27 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 D | vhost_ut.c | 481 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 D | nvme_spec.md | 25 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 D | notify.md | 7 The event bus is implemented as a circular ring of fixed size. If event consumers
|
| H A D | userspace.md | 14 drivers run in kernel space (i.e. ring 0 on x86). SPDK contains drivers that
|
| H A D | vhost_processing.md | 27 of three different single-producer, single-consumer ring structures designed to
|
| H A D | concurrency.md | 43 [lockless ring](http://dpdk.org/doc/guides/prog_guide/ring_lib.html). Message
|
| /spdk/module/bdev/uring/ |
| H A D | bdev_uring.c | 246 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 D | rte_vhost_user.c | 79 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 D | virtio.c | 346 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 D | virtio_vfio_user.c | 249 used_addr = (avail_addr + offsetof(struct vring_avail, ring[vq->vq_nentries]) in virtio_vfio_user_setup_queue()
|
| H A D | virtio_pci.c | 442 used_addr = (avail_addr + offsetof(struct vring_avail, ring[vq->vq_nentries]) in modern_setup_queue()
|
| H A D | virtio_vhost_user.c | 925 ring[vq->vq_nentries]), in virtio_user_setup_queue()
|
| /spdk/test/vhost/perf_bench/ |
| H A D | vhost_perf.sh | 78 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 D | vfu_virtio.c | 343 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 D | 0001-strlcpy-to-strscpy.patch | |