Thread (9 messages) 9 messages, 3 authors, 2019-01-16

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-arch, linux-fsdevel

Possibly related (same subject, not in this thread)

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=2

quoted
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help