Sha256: fe5253338576fef435e753929e0b14ad5ccb1002c7a80117b5866283b39cbf58
Contents?: true
Size: 1.16 KB
Versions: 8
Compression:
Stored size: 1.16 KB
Contents
/* SPDX-License-Identifier: MIT */ /* * Description: test CQ ring sizing */ #include <errno.h> #include <stdio.h> #include <unistd.h> #include <stdlib.h> #include <string.h> #include <fcntl.h> #include "liburing.h" int main(int argc, char *argv[]) { struct io_uring_params p; struct io_uring ring; int ret; if (argc > 1) return 0; memset(&p, 0, sizeof(p)); p.flags = IORING_SETUP_CQSIZE; p.cq_entries = 64; ret = io_uring_queue_init_params(4, &ring, &p); if (ret) { if (ret == -EINVAL) { printf("Skipped, not supported on this kernel\n"); goto done; } printf("ring setup failed\n"); return 1; } if (p.cq_entries < 64) { printf("cq entries invalid (%d)\n", p.cq_entries); goto err; } io_uring_queue_exit(&ring); memset(&p, 0, sizeof(p)); p.flags = IORING_SETUP_CQSIZE; p.cq_entries = 0; ret = io_uring_queue_init_params(4, &ring, &p); if (ret >= 0) { printf("zero sized cq ring succeeded\n"); io_uring_queue_exit(&ring); goto err; } if (ret != -EINVAL) { printf("io_uring_queue_init_params failed, but not with -EINVAL" ", returned error %d (%s)\n", ret, strerror(-ret)); goto err; } done: return 0; err: return 1; }
Version data entries
8 entries across 8 versions & 1 rubygems