Message ID | 20230912172458.1646720-1-axboe@kernel.dk (mailing list archive) |
---|---|
Headers | show |
Series | Add support for multishot reads | expand |
Jens Axboe <axboe@kernel.dk> writes: > Hi, > > We support multishot for other request types, generally in the shape of > a flag for the request. Doing a flag based approach with reads isn't > straightforward, as the read/write flags are in the RWF_ space. Instead, > add a separate opcode for this, IORING_OP_READ_MULTISHOT. > > This can only be used provided buffers, like other multishot request > types that read/receive data. > > It can also only be used for pollable file types, like a tun device or > pipes, for example. File types that are always readable (or seekable), > like regular files, cannot be used with multishot reads. > > This is based on the io_uring-futex branch (which, in turn, is based on > the io_uring-waitid branch). No dependencies as such between them, > except the opcode numbering. > > Can also be found here: > > https://git.kernel.dk/cgit/linux/log/?h=io_uring-mshot-read > > and there's a liburing branch with some basic support and some test > cases here: > > https://git.kernel.dk/cgit/liburing/log/?h=read-mshot Hey Jens, For the entire series, feel free to take: Reviewed-by: Gabriel Krisman Bertazi <krisman@suse.de>
On 9/12/23 12:39 PM, Gabriel Krisman Bertazi wrote: > Jens Axboe <axboe@kernel.dk> writes: > >> Hi, >> >> We support multishot for other request types, generally in the shape of >> a flag for the request. Doing a flag based approach with reads isn't >> straightforward, as the read/write flags are in the RWF_ space. Instead, >> add a separate opcode for this, IORING_OP_READ_MULTISHOT. >> >> This can only be used provided buffers, like other multishot request >> types that read/receive data. >> >> It can also only be used for pollable file types, like a tun device or >> pipes, for example. File types that are always readable (or seekable), >> like regular files, cannot be used with multishot reads. >> >> This is based on the io_uring-futex branch (which, in turn, is based on >> the io_uring-waitid branch). No dependencies as such between them, >> except the opcode numbering. >> >> Can also be found here: >> >> https://git.kernel.dk/cgit/linux/log/?h=io_uring-mshot-read >> >> and there's a liburing branch with some basic support and some test >> cases here: >> >> https://git.kernel.dk/cgit/liburing/log/?h=read-mshot > > Hey Jens, > > For the entire series, feel free to take: > > Reviewed-by: Gabriel Krisman Bertazi <krisman@suse.de> Thanks, added!