public inbox for [email protected]
 help / color / mirror / Atom feed
* Re: [POC RFC 0/3] splice(2) support for io_uring
@ 2020-04-06 19:09 Askar Safin
  2020-04-06 20:01 ` Pavel Begunkov
  0 siblings, 1 reply; 6+ messages in thread
From: Askar Safin @ 2020-04-06 19:09 UTC (permalink / raw)
  To: asml.silence; +Cc: io-uring, linux-kernel, linux-fsdevel

Hi. Thanks for your splice io_uring patch. Maybe it will be good idea to add uring operation, which will unify splice, sendfile and copy_file_range instead of just IORING_OP_SPLICE?
==
Askar Safin
https://github.com/safinaskar

^ permalink raw reply	[flat|nested] 6+ messages in thread
* [POC RFC 0/3] splice(2) support for io_uring
@ 2020-01-22  0:05 Pavel Begunkov
  2020-01-22  1:55 ` Jens Axboe
  0 siblings, 1 reply; 6+ messages in thread
From: Pavel Begunkov @ 2020-01-22  0:05 UTC (permalink / raw)
  To: Jens Axboe, io-uring, linux-kernel, linux-fsdevel; +Cc: Alexander Viro

It works well for basic cases, but there is still work to be done. E.g.
it misses @hash_reg_file checks for the second (output) file. Anyway,
there are some questions I want to discuss:

- why sqe->len is __u32? Splice uses size_t, and I think it's better
to have something wider (e.g. u64) for fututre use. That's the story
behind added sqe->splice_len.

- it requires 2 fds, and it's painful. Currently file managing is done
by common path (e.g. io_req_set_file(), __io_req_aux_free()). I'm
thinking to make each opcode function handle file grabbing/putting
themself with some helpers, as it's done in the patch for splice's
out-file.
    1. Opcode handler knows, whether it have/needs a file, and thus
       doesn't need extra checks done in common path.
    2. It will be more consistent with splice.
Objections? Ideas?

- do we need offset pointers with fallback to file->f_pos? Or is it
enough to have offset value. Jens, I remember you added the first
option somewhere, could you tell the reasoning?


Pavel Begunkov (3):
  splice: make do_splice public
  io_uring: add interface for getting files
  io_uring: add splice(2) support

 fs/io_uring.c                 | 152 ++++++++++++++++++++++++++++------
 fs/splice.c                   |   6 +-
 include/linux/splice.h        |   3 +
 include/uapi/linux/io_uring.h |  16 +++-
 4 files changed, 147 insertions(+), 30 deletions(-)

-- 
2.24.0


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2020-04-06 20:02 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-04-06 19:09 [POC RFC 0/3] splice(2) support for io_uring Askar Safin
2020-04-06 20:01 ` Pavel Begunkov
  -- strict thread matches above, loose matches on Subject: below --
2020-01-22  0:05 Pavel Begunkov
2020-01-22  1:55 ` Jens Axboe
2020-01-22  3:11   ` Pavel Begunkov
2020-01-22  3:30     ` Jens Axboe

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox