| /tools/testing/selftests/net/ |
| A D | psock_tpacket.c | 71 void (*walk)(int sock, struct ring *ring); argument 640 ring->mm_len = ring->req.tp_block_size * ring->req.tp_block_nr; in __v1_v2_fill() 661 ring->mm_len = ring->req3.tp_block_size * ring->req3.tp_block_nr; in __v3_fill() 697 ring->rd_len = ring->rd_num * sizeof(*ring->rd); in setup_ring() 698 ring->rd = malloc(ring->rd_len); in setup_ring() 719 memset(ring->rd, 0, ring->rd_len); in mmap_ring() 721 ring->rd[i].iov_base = ring->mm_space + (i * ring->flen); in mmap_ring() 722 ring->rd[i].iov_len = ring->flen; in mmap_ring() 748 ring->walk(sock, ring); in walk_ring() 805 struct ring ring; in test_tpacket() local [all …]
|
| A D | txring_overwrite.c | 86 static int setup_tx(char **ring) in setup_tx() argument 114 *ring = mmap(0, req.tp_block_size * req.tp_block_nr, in setup_tx() 116 if (*ring == MAP_FAILED) in setup_tx() 161 char *ring; in main() local 165 fdt = setup_tx(&ring); in main() 167 send_pkt(fdt, ring, payload_patterns[0]); in main() 168 send_pkt(fdt, ring, payload_patterns[1]); in main()
|
| A D | io_uring_zerocopy_tx.c | 99 struct io_uring ring; in do_tx() local 107 ret = io_uring_queue_init(512, &ring, 0); in do_tx() 114 ret = io_uring_register_buffers(&ring, &iov, 1); in do_tx() 132 sqe = io_uring_get_sqe(&ring); in do_tx() 150 ret = io_uring_submit(&ring); in do_tx() 157 ret = io_uring_wait_cqe(&ring, &cqe); in do_tx() 172 io_uring_cqe_seen(&ring); in do_tx() 186 io_uring_cqe_seen(&ring); in do_tx() 191 ret = io_uring_wait_cqe(&ring, &cqe); in do_tx() 199 io_uring_cqe_seen(&ring); in do_tx()
|
| A D | toeplitz.c | 210 ring->cpu); in recv_frame() 218 static bool recv_block(struct ring_state *ring) in recv_block() argument 224 block = (void *)(ring->mmap + ring->idx * ring_block_sz); in recv_block() 232 frame = recv_frame(ring, frame); in recv_block() 237 ring->idx = (ring->idx + 1) % ring_block_nr; in recv_block() 260 void *ring; in setup_ring() local 278 ring = mmap(0, req3.tp_block_size * req3.tp_block_nr, in setup_ring() 281 if (ring == MAP_FAILED) in setup_ring() 284 return ring; in setup_ring() 336 static int create_ring(char **ring) in create_ring() argument [all …]
|
| A D | psock_fanout.c | 226 char *ring; in sock_fanout_open_ring() local 240 ring = mmap(0, req.tp_block_size * req.tp_block_nr, in sock_fanout_open_ring() 242 if (ring == MAP_FAILED) { in sock_fanout_open_ring() 247 return ring; in sock_fanout_open_ring() 250 static int sock_fanout_read_ring(int fd, void *ring) in sock_fanout_read_ring() argument 252 struct tpacket2_hdr *header = ring; in sock_fanout_read_ring() 257 header = ring + (count * getpagesize()); in sock_fanout_read_ring()
|
| /tools/virtio/ringtest/ |
| A D | virtio_ring_0_9.c | 22 struct vring ring; variable 136 ring.avail->ring[avail & (ring_size - 1)] = in add_inbuf() 143 ring.avail->ring[avail] = head; in add_inbuf() 160 index = ring.used->ring[head].id; in get_buf() 176 index = ring.used->ring[head].id; in get_buf() 183 *lenp = ring.used->ring[head].len; in get_buf() 202 unsigned index = ring.used->ring[head].id; in used_empty() 277 head = ring.avail->ring[used_idx & (ring_size - 1)]; in use_buf() 296 head = ring.avail->ring[used_idx]; in use_buf() 308 ring.used->ring[used_idx].id = head; in use_buf() [all …]
|
| A D | ring.c | 56 struct desc *ring; variable 82 ret = posix_memalign((void **)&ring, 0x1000, ring_size * sizeof *ring); in alloc_ring() 101 ring[i] = desc; in alloc_ring() 126 ring[head].len = len; in add_inbuf() 133 index = ring[head].index; in add_inbuf() 138 ring[head].flags = DESC_HW; in add_inbuf() 149 if (ring[head].flags & DESC_HW) in get_buf() 153 *lenp = ring[head].len; in get_buf() 230 if (!(ring[head].flags & DESC_HW)) in use_buf() 241 ring[head].len--; in use_buf() [all …]
|
| A D | Makefile | 4 all: ring virtio_ring_0_9 virtio_ring_poll virtio_ring_inorder ptr_ring noring 11 ring.o: ring.c main.h 16 ring: ring.o main.o target 24 -rm ring.o ring
|
| A D | README | 1 Partial implementation of various ring layouts, useful to tune virtio design. 6 # sh run-on-all.sh perf stat -r 10 --log-fd 1 -- ./ring
|
| A D | .gitignore | 4 /ring
|
| /tools/testing/selftests/bpf/prog_tests/ |
| A D | ringbuf_multi.c | 18 int ring = (unsigned long)ctx; in process_sample() local 23 CHECK(ring != 1, "sample1_ring", "exp %d, got %d\n", 1, ring); in process_sample() 28 CHECK(ring != 2, "sample2_ring", "exp %d, got %d\n", 2, ring); in process_sample() 45 struct ring *ring_old; in test_ringbuf_multi() 46 struct ring *ring; in test_ringbuf_multi() local 90 ring = ring_buffer__ring(ringbuf, 0); in test_ringbuf_multi() 91 if (!ASSERT_OK_PTR(ring, "ring_buffer__ring_idx_0")) in test_ringbuf_multi() 93 ring_old = ring; in test_ringbuf_multi() 94 ring = ring_buffer__ring(ringbuf, 1); in test_ringbuf_multi() 95 ASSERT_ERR_PTR(ring, "ring_buffer__ring_idx_1"); in test_ringbuf_multi() [all …]
|
| A D | ringbuf.c | 149 struct ring *ring; in ringbuf_subtest() local 223 ring = ring_buffer__ring(ringbuf, 0); in ringbuf_subtest() 224 if (!ASSERT_OK_PTR(ring, "ring_buffer__ring_idx_0")) in ringbuf_subtest() 227 map_fd = ring__map_fd(ring); in ringbuf_subtest() 247 avail_data = ring__avail_data_size(ring); in ringbuf_subtest() 249 ring_size = ring__size(ring); in ringbuf_subtest() 251 cons_pos = ring__consumer_pos(ring); in ringbuf_subtest() 253 prod_pos = ring__producer_pos(ring); in ringbuf_subtest() 363 err = ring__consume(ring); in ringbuf_subtest()
|
| /tools/testing/selftests/kvm/ |
| A D | coalesced_io_test.c | 16 struct kvm_coalesced_mmio_ring *ring; member 77 struct kvm_coalesced_mmio_ring *ring = io->ring; in vcpu_run_and_verify_io_exit() local 81 WRITE_ONCE(ring->first, ring_start); in vcpu_run_and_verify_io_exit() 82 WRITE_ONCE(ring->last, ring_start); in vcpu_run_and_verify_io_exit() 117 struct kvm_coalesced_mmio_ring *ring = io->ring; in vcpu_run_and_verify_coalesced_io() local 122 TEST_ASSERT((ring->last + 1) % io->ring_size == ring->first, in vcpu_run_and_verify_coalesced_io() 124 ring->first, ring->last, io->ring_size, ring_start); in vcpu_run_and_verify_coalesced_io() 153 struct kvm_coalesced_mmio_ring *ring = io->ring; in test_coalesced_io() local 169 WRITE_ONCE(ring->first, ring_start); in test_coalesced_io() 170 WRITE_ONCE(ring->last, ring_start); in test_coalesced_io() [all …]
|
| /tools/testing/selftests/drivers/net/hw/ |
| A D | iou-zcrx.c | 185 sqe = io_uring_get_sqe(ring); in add_accept() 195 sqe = io_uring_get_sqe(ring); in add_recvzc() 206 sqe = io_uring_get_sqe(ring); in add_recvzc_oneshot() 224 add_recvzc(ring, connfd); in process_accept() 252 add_recvzc(ring, connfd); in process_recvzc() 284 process_accept(ring, cqe); in server_loop() 286 process_recvzc(ring, cqe); in server_loop() 297 struct io_uring ring; in run_server() local 325 setup_zcrx(&ring); in run_server() 327 add_accept(&ring, fd); in run_server() [all …]
|
| /tools/include/io_uring/ |
| A D | mini_liburing.h | 130 struct io_uring *ring, in io_uring_queue_init() argument 136 memset(ring, 0, sizeof(*ring)); in io_uring_queue_init() 143 ret = io_uring_mmap(fd, &p, &ring->sq, &ring->cq); in io_uring_queue_init() 145 ring->ring_fd = fd; in io_uring_queue_init() 154 struct io_uring_sq *sq = &ring->sq; in io_uring_get_sqe() 164 struct io_uring_cq *cq = &ring->cq; in io_uring_wait_cqe() 176 ret = io_uring_enter(ring->ring_fd, 0, 1, in io_uring_wait_cqe() 187 struct io_uring_sq *sq = &ring->sq; in io_uring_submit() 222 struct io_uring_sq *sq = &ring->sq; in io_uring_queue_exit() 226 close(ring->ring_fd); in io_uring_queue_exit() [all …]
|
| /tools/testing/vsock/ |
| A D | vsock_uring_test.c | 64 struct io_uring ring; in vsock_io_uring_client() local 89 sqe = io_uring_get_sqe(&ring); in vsock_io_uring_client() 96 if (io_uring_submit(&ring) != 1) in vsock_io_uring_client() 99 if (io_uring_wait_cqe(&ring, &cqe)) in vsock_io_uring_client() 102 io_uring_cqe_seen(&ring, cqe); in vsock_io_uring_client() 107 io_uring_queue_exit(&ring); in vsock_io_uring_client() 117 struct io_uring ring; in vsock_io_uring_server() local 147 sqe = io_uring_get_sqe(&ring); in vsock_io_uring_server() 153 if (io_uring_submit(&ring) != 1) in vsock_io_uring_server() 160 io_uring_cqe_seen(&ring, cqe); in vsock_io_uring_server() [all …]
|
| /tools/lib/bpf/ |
| A D | ringbuf.c | 26 struct ring { struct 38 struct ring **rings; argument 82 struct ring *r; in ring_buffer__add() 294 struct ring *ring = rb->rings[i]; in ring_buffer__consume_n() local 296 err = ringbuf_process_ring(ring, n); in ring_buffer__consume_n() 319 struct ring *ring = rb->rings[i]; in ring_buffer__consume() local 321 err = ringbuf_process_ring(ring, INT_MAX); in ring_buffer__consume() 348 struct ring *ring = rb->rings[ring_id]; in ring_buffer__poll() local 397 size_t ring__size(const struct ring *r) in ring__size() 402 int ring__map_fd(const struct ring *r) in ring__map_fd() [all …]
|
| /tools/testing/selftests/drivers/net/netdevsim/ |
| A D | ethtool-ring.sh | 21 if ! ethtool -h | grep -q set-ring >/dev/null; then 52 RING_MAX_LIST=$(ls $NSIM_DEV_DFS/ethtool/ring/) 55 echo $MAX_VALUE > $NSIM_DEV_DFS/ethtool/ring/$ring_max_entry
|
| /tools/testing/selftests/mm/page_frag/ |
| A D | page_frag_test.c | 49 struct ptr_ring *ring = arg; in page_frag_pop_thread() local 55 void *obj = __ptr_ring_consume(ring); in page_frag_pop_thread() 79 struct ptr_ring *ring = arg; in page_frag_push_thread() local 103 ret = __ptr_ring_produce(ring, va); in page_frag_push_thread()
|
| /tools/testing/selftests/ublk/ |
| A D | kublk.h | 175 struct io_uring ring; member 198 struct io_uring ring; member 260 struct io_uring *ring = &t->ring; in ublk_io_alloc_sqes() local 261 unsigned left = io_uring_sq_space_left(ring); in ublk_io_alloc_sqes() 265 io_uring_submit(ring); in ublk_io_alloc_sqes() 268 sqes[i] = io_uring_get_sqe(ring); in ublk_io_alloc_sqes()
|
| A D | kublk.c | 77 sqe = io_uring_get_sqe(&dev->ring); in __ublk_ctrl_cmd() 85 ret = io_uring_submit(&dev->ring); in __ublk_ctrl_cmd() 96 io_uring_cqe_seen(&dev->ring, cqe); in __ublk_ctrl_cmd() 424 io_uring_unregister_buffers(&t->ring); in ublk_thread_deinit() 428 if (t->ring.ring_fd > 0) { in ublk_thread_deinit() 429 io_uring_unregister_files(&t->ring); in ublk_thread_deinit() 430 close(t->ring.ring_fd); in ublk_thread_deinit() 431 t->ring.ring_fd = -1; in ublk_thread_deinit() 505 &t->ring, max_nr_ios_per_thread); in ublk_thread_init() 513 io_uring_register_ring_fd(&t->ring); in ublk_thread_init() [all …]
|
| /tools/testing/selftests/bpf/ |
| A D | xsk.h | 35 void *ring; \ 52 __u64 *addrs = (__u64 *)fill->ring; in xsk_ring_prod__fill_addr() 60 const __u64 *addrs = (const __u64 *)comp->ring; in xsk_ring_cons__comp_addr() 68 struct xdp_desc *descs = (struct xdp_desc *)tx->ring; in xsk_ring_prod__tx_desc() 76 const struct xdp_desc *descs = (const struct xdp_desc *)rx->ring; in xsk_ring_cons__rx_desc()
|
| /tools/testing/selftests/x86/ |
| A D | lam.c | 608 struct io_uring_queue *sring = &ring->sq_ring; in handle_uring_sq() 638 index = tail & *ring->sq_ring.ring_mask; in handle_uring_sq() 640 sqe = &ring->sq_ring.queue.sqes[index]; in handle_uring_sq() 669 struct io_ring *ring; in do_uring() local 698 ring = malloc(sizeof(*ring)); in do_uring() 699 if (!ring) { in do_uring() 704 memset(ring, 0, sizeof(struct io_ring)); in do_uring() 706 if (setup_io_uring(ring)) in do_uring() 709 if (handle_uring_sq(ring, fi, lam)) in do_uring() 712 ret = handle_uring_cq(ring); in do_uring() [all …]
|
| /tools/testing/selftests/hid/tests/ |
| A D | test_wacom_generic.py | 173 self.ring = -1 243 def create_report_pad(self, reportID, ring, ek0): argument 246 if ring is not None: 247 self.ring = ring 248 ring = self.ring 254 if ring >= 0: 255 report.wacomtouchring = ring 288 def event_pad(self, reportID, ring=None, ek0=None): argument 292 r = self.create_report_pad(reportID, ring, ek0) 843 uhdev.event_pad(reportID=17, ring=0, ek0=1), [all …]
|
| /tools/testing/selftests/mm/ |
| A D | gup_longterm.c | 231 struct io_uring ring; in do_test() local 244 ret = io_uring_queue_init(1, &ring, 0); in do_test() 257 ret = io_uring_register_buffers(&ring, &iov, 1); in do_test() 283 io_uring_unregister_buffers(&ring); in do_test() 286 io_uring_queue_exit(&ring); in do_test()
|