Re: [PATCH 05/16] Add io_uring IO interface
flat view
From: Jens Axboe <axboe@kernel.dk>
Date: 2019-01-15 17:26:22
Also in:
linux-block, linux-fsdevel
On 1/15/19 9:55 AM, Jens Axboe wrote:
On 1/15/19 9:51 AM, Jonathan Corbet wrote:quoted
On Mon, 14 Jan 2019 19:55:20 -0700 Jens Axboe [off-list ref] wrote: So the [0/16] cover letter seems to have gone astray this time?It did go out, but I forgot to add a Subject line to it... https://marc.info/?l=linux-block&m=154752095709422&w=2quoted
quoted
The submission queue (SQ) and completion queue (CQ) rings are shared between the application and the kernel. This eliminates the need to copy data back and forth to submit and complete IO. IO submissions use the io_uring_sqe data structure, and completions are generated in the form of io_uring_sqe data structures. The SQ ring is an index into the io_uring_sqe array, which makes it possible to submit a batch of IOs without them being contiguous in the ring. The CQ ring is always contiguous, as completion events are inherently unordered and can point to any io_uring_iocb. Two new system calls are added for this: io_uring_setup(entries, iovecs, params) Sets up a context for doing async IO. On success, returns a file descriptor that the application can mmap to gain access to the SQ ring, CQ ring, and io_uring_iocbs.Looking at the code, it would appear that the "iovecs" parameter doesn't actually exist.Indeed, need to update that commit message. and io_uring_iocbs should now be io_uring_sqes. The iovec/file registration is done through io_uring_register(2).
Updated commit message which covers both this one, and the IORING_ENTER_GETEVENTS below. http://git.kernel.dk/cgit/linux-block/commit/?h=io_uring&id=d14a06629baef2b0701dbd01ac9c9066f73065ec -- Jens Axboe -- To unsubscribe, send a message with 'unsubscribe linux-aio' in the body to majordomo@kvack.org. For more info on Linux AIO, see: http://www.kvack.org/aio/ Don't email: <a href=mailto:"aart@kvack.org">aart@kvack.org</a>