path: root/src/setup.c
AgeCommit message (Collapse)Author
2019-10-04Add io_uring_queue_init_params()Jens Axboe
Like io_uring_queue_init(), but allows passing in the whole parameter structure, not just the flags. Signed-off-by: Jens Axboe <>
2019-09-06src/setup: unify ring munmap()Jens Axboe
Signed-off-by: Jens Axboe <>
2019-09-06liburing: Use the single mmap featureHristo Venev
Signed-off-by: Hristo Venev <> Signed-off-by: Jens Axboe <>
2019-07-24src/Makefile: keep private headers in <liburing/*.h>Stefan Hajnoczi
It is not possible to install barrier.h and compat.h into the top-level /usr/include directly since they are likely to conflict with other software. io_uring.h could be confused with the system's kernel header file. Put liburing headers into <liburing/*.h> so there is no chance of conflicts or confusion. Existing applications continue to build successfully since the location of <liburing.h> is unchanged. In-tree examples and tests require modification because src/liburing.h is moved to src/include/liburing.h. Signed-off-by: Stefan Hajnoczi <> Signed-off-by: Jens Axboe <>
2019-06-03Do not assume p->{cq,sq}_off.head is 0Kornilios Kourtis
Ring memory is released by umapping {cq,sq}->khead, which assumes that p->{cq,sq}_off.head will always be 0. Add another field to for the mmaped region and use that instead of ->khead when umapping. Signed-off-by: Kornilios Kourtis <> Signed-off-by: Jens Axboe <>
2019-05-27liburing,queue,setup: handle IORING_SQ_NEED_WAKEUP for io_uring_submit()Roman Penyaev
Enter kernel only if SQ thread is off or wakeup is needed. Signed-off-by: Roman Penyaev <> Signed-off-by: Jens Axboe <>
2019-05-27setup: return -errno explicitly from io_uring_queue_init()Roman Penyaev
Signed-off-by: Roman Penyaev <> Signed-off-by: Jens Axboe <>
2019-05-20Fix leak of fd in io_uring_queue_init() on failureJens Axboe
If the ring setup fails, close the fd before returning failure. Reported-by: Kornilios Kourtis <> Signed-off-by: Jens Axboe <>
2019-05-20fix harmless typo in sq_entries in io_uring_mmapWeiping Zhang
We really should use a ';' to terminate the line. This is just a cosmetic issue, no functional changes. Signed-off-by: Weiping Zhang <> Modified wording Signed-off-by: Jens Axboe <>
2019-02-08add io_uring_queue_mmapJeff Moyer
io_uring_queue_init does not allow the caller to specify sq_thread_cpu or sq_thread_idle. Users that want to specify those parameters need to call io_uring_setup(2) themselves. Add a helper so that they don't also have to hand-craft the code to map the submission and completion queues, and setup the sqe ring. This allows those applications to still make use of io_uring_submit and get/wait_completion. Signed-off-by: Jeff Moyer <> Signed-off-by: Jens Axboe <>
2019-01-17Split src/io_uring.c upJens Axboe
Let's have the various helpers be in usefully named functions, no need to bundle them all into the same one. Signed-off-by: Jens Axboe <>