Commit Graph

133 Commits

Author SHA1 Message Date
Jeff Moyer 47962942de io_uring: add IOU_STOP_MULTISHOT return code
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2068237

commit 114eccdf0e368893b3d92e06e9788d9d94876853
Author: Dylan Yudaken <dylany@fb.com>
Date:   Thu Jun 30 02:12:25 2022 -0700

    io_uring: add IOU_STOP_MULTISHOT return code
    
    For multishot we want a way to signal the caller that multishot has ended
    but also this might not be an error return.
    
    For example sockets return 0 when closed, which should end a multishot
    recv, but still have a CQE with result 0
    
    Introduce IOU_STOP_MULTISHOT which does this and indicates that the return
    code is stored inside req->cqe
    
    Signed-off-by: Dylan Yudaken <dylany@fb.com>
    Link: https://lore.kernel.org/r/20220630091231.1456789-7-dylany@fb.com
    Signed-off-by: Jens Axboe <axboe@kernel.dk>

Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
2023-04-29 07:14:02 -04:00
Jeff Moyer 31c630fab4 io_uring: remove priority tw list optimisation
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2068237

commit ed5ccb3beeba0cadb0fcf353ae192021dfecf252
Author: Dylan Yudaken <dylany@fb.com>
Date:   Wed Jun 22 06:40:21 2022 -0700

    io_uring: remove priority tw list optimisation
    
    This optimisation has some built in assumptions that make it easy to
    introduce bugs. It also does not have clear wins that make it worth keeping.
    
    Signed-off-by: Dylan Yudaken <dylany@fb.com>
    Link: https://lore.kernel.org/r/20220622134028.2013417-2-dylany@fb.com
    Signed-off-by: Jens Axboe <axboe@kernel.dk>

Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
2023-04-29 06:41:02 -04:00
Jeff Moyer 3bb83f0f6a io_uring: move list helpers to a separate file
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2068237

commit a6b21fbb4ce3c4976ba478a9f0f10d4163038478
Author: Pavel Begunkov <asml.silence@gmail.com>
Date:   Tue Jun 21 10:09:01 2022 +0100

    io_uring: move list helpers to a separate file
    
    It's annoying to have io-wq.h as a dependency every time we want some of
    struct io_wq_work_list helpers, move them into a separate file.
    
    Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
    Link: https://lore.kernel.org/r/c1d891ce12b30767d1d2a3b7db2ca3abc1ecc4a2.1655802465.git.asml.silence@gmail.com
    Signed-off-by: Jens Axboe <axboe@kernel.dk>

Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
2023-04-29 06:39:02 -04:00
Jeff Moyer 182e6ad8de io_uring: improve io_run_task_work()
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2068237

commit 625d38b3fd34c58afb969810c4b3105eabb3b143
Author: Pavel Begunkov <asml.silence@gmail.com>
Date:   Tue Jun 21 10:09:00 2022 +0100

    io_uring: improve io_run_task_work()
    
    Since SQPOLL now uses TWA_SIGNAL_NO_IPI, there won't be task work items
    without TIF_NOTIFY_SIGNAL. Simplify io_run_task_work() by removing
    task->task_works check. Even though looks it doesn't cause extra cache
    bouncing, it's still nice to not touch it an extra time when it might be
    not cached.
    
    Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
    Link: https://lore.kernel.org/r/75d4f34b0c671075892821a409e28da6cb1d64fe.1655802465.git.asml.silence@gmail.com
    Signed-off-by: Jens Axboe <axboe@kernel.dk>

Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
2023-04-29 06:38:02 -04:00
Jeff Moyer 6b53aae49b io_uring: consistent naming for inline completion
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2068237

commit 9da070b142820031a0e273097f2b39982f45bbfd
Author: Pavel Begunkov <asml.silence@gmail.com>
Date:   Mon Jun 20 01:26:00 2022 +0100

    io_uring: consistent naming for inline completion
    
    Improve naming of the inline/deferred completion helper so it's
    consistent with it's *_post counterpart. Add some comments and extra
    lockdeps to ensure the locking is done right.
    
    Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
    Link: https://lore.kernel.org/r/797c619943dac06529e9d3fcb16e4c3cde6ad1a3.1655684496.git.asml.silence@gmail.com
    Signed-off-by: Jens Axboe <axboe@kernel.dk>

Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
2023-04-29 06:35:02 -04:00
Jeff Moyer 2d902ff330 io_uring: add io_commit_cqring_flush()
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2068237

commit 46929b086886ade8302cff6e85ccea66bce0cf98
Author: Pavel Begunkov <asml.silence@gmail.com>
Date:   Mon Jun 20 01:25:57 2022 +0100

    io_uring: add io_commit_cqring_flush()
    
    Since __io_commit_cqring_flush users moved to different files, introduce
    io_commit_cqring_flush() helper and encapsulate all flags testing details
    inside.
    
    Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
    Link: https://lore.kernel.org/r/0da03887435dd9869ffe46dcd3962bf104afcca3.1655684496.git.asml.silence@gmail.com
    Signed-off-by: Jens Axboe <axboe@kernel.dk>

Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
2023-04-29 06:32:02 -04:00
Jeff Moyer 50c8b0414a io_uring: introduce locking helpers for CQE posting
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2068237

commit 253993210bd8aa3b39a392807c03c8ef1cd7dc3d
Author: Pavel Begunkov <asml.silence@gmail.com>
Date:   Mon Jun 20 01:25:56 2022 +0100

    io_uring: introduce locking helpers for CQE posting
    
    spin_lock(&ctx->completion_lock);
    /* post CQEs */
    io_commit_cqring(ctx);
    spin_unlock(&ctx->completion_lock);
    io_cqring_ev_posted(ctx);
    
    We have many places repeating this sequence, and the three function
    unlock section is not perfect from the maintainance perspective and also
    makes it harder to add new locking/sync trick.
    
    Introduce two helpers. io_cq_lock(), which is simple and only grabs
    ->completion_lock, and io_cq_unlock_post() encapsulating the three call
    section.
    
    Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
    Link: https://lore.kernel.org/r/fe0c682bf7f7b55d9be55b0d034be9c1949277dc.1655684496.git.asml.silence@gmail.com
    Signed-off-by: Jens Axboe <axboe@kernel.dk>

Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
2023-04-29 06:31:02 -04:00
Jeff Moyer b1740d3902 io_uring: remove ->flush_cqes optimisation
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2068237

commit d9dee4302a7cbd6c0142dbdf6d150acc7459de0d
Author: Pavel Begunkov <asml.silence@gmail.com>
Date:   Sun Jun 19 12:26:08 2022 +0100

    io_uring: remove ->flush_cqes optimisation
    
    It's not clear how widely used IOSQE_CQE_SKIP_SUCCESS is, and how often
    ->flush_cqes flag prevents from completion being flushed. Sometimes it's
    high level of concurrency that enables it at least for one CQE, but
    sometimes it doesn't save much because nobody waiting on the CQ.
    
    Remove ->flush_cqes flag and the optimisation, it should benefit the
    normal use case. Note, that there is no spurious eventfd problem with
    that as checks for spuriousness were incorporated into
    io_eventfd_signal().
    
    Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
    Link: https://lore.kernel.org/r/692e81eeddccc096f449a7960365fa7b4a18f8e6.1655637157.git.asml.silence@gmail.com
    [axboe: remove now dead state->flush_cqes variable]
    Signed-off-by: Jens Axboe <axboe@kernel.dk>

Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
2023-04-29 06:26:02 -04:00
Jeff Moyer c3dc4f4db9 io_uring: reshuffle io_uring/io_uring.h
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2068237

commit 9046c6415be60f51f60f8b771a74ac4e72e3599d
Author: Pavel Begunkov <asml.silence@gmail.com>
Date:   Sun Jun 19 12:26:05 2022 +0100

    io_uring: reshuffle io_uring/io_uring.h
    
    It's a good idea to first do forward declarations and then inline
    helpers, otherwise there will be keep stumbling on dependencies
    between them.
    
    Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
    Link: https://lore.kernel.org/r/1d7fa6672ed43f20ccc0c54ae201369ebc3ebfab.1655637157.git.asml.silence@gmail.com
    Signed-off-by: Jens Axboe <axboe@kernel.dk>

Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
2023-04-29 06:24:02 -04:00
Jeff Moyer 61793331ab io_uring: make io_uring_types.h public
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2068237

commit ab1c84d855cf2c284fa0f4b17fc04063659c54a1
Author: Pavel Begunkov <asml.silence@gmail.com>
Date:   Thu Jun 16 13:57:19 2022 +0100

    io_uring: make io_uring_types.h public
    
    Move io_uring types to linux/include, need them public so tracing can
    see the definitions and we can clean trace/events/io_uring.h
    
    Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
    Link: https://lore.kernel.org/r/a15f12e8cb7289b2de0deaddcc7518d98a132d17.1655384063.git.asml.silence@gmail.com
    Signed-off-by: Jens Axboe <axboe@kernel.dk>

Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
2023-04-29 06:20:02 -04:00
Jeff Moyer 153529bb18 io_uring: change ->cqe_cached invariant for CQE32
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2068237

commit b3659a65be70eb68d9fc9802c4ce81e0f943abfd
Author: Pavel Begunkov <asml.silence@gmail.com>
Date:   Fri Jun 17 09:48:05 2022 +0100

    io_uring: change ->cqe_cached invariant for CQE32
    
    With IORING_SETUP_CQE32 ->cqe_cached doesn't store a real address but
    rather an implicit offset into cqes. Store the real cqe pointer and
    increment it accordingly if CQE32.
    
    Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
    Link: https://lore.kernel.org/r/1ee1838cba16bed96381a006950b36ba640d998c.1655455613.git.asml.silence@gmail.com
    Signed-off-by: Jens Axboe <axboe@kernel.dk>

Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
2023-04-29 06:18:02 -04:00
Jeff Moyer dcfb0d17ab io_uring: deduplicate io_get_cqe() calls
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2068237

commit e8c328c3913d381bf60f2aecdf350c04b5b7e67d
Author: Pavel Begunkov <asml.silence@gmail.com>
Date:   Fri Jun 17 09:48:04 2022 +0100

    io_uring: deduplicate io_get_cqe() calls
    
    Deduplicate calls to io_get_cqe() from __io_fill_cqe_req().
    
    Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
    Link: https://lore.kernel.org/r/4fa077986cc3abab7c59ff4e7c390c783885465f.1655455613.git.asml.silence@gmail.com
    Signed-off-by: Jens Axboe <axboe@kernel.dk>

Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
2023-04-29 06:17:02 -04:00
Jeff Moyer ae0a26b127 io_uring: deduplicate __io_fill_cqe_req tracing
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2068237

commit ae5735c69bf28fea0b8260a03caeb906319228a2
Author: Pavel Begunkov <asml.silence@gmail.com>
Date:   Fri Jun 17 09:48:03 2022 +0100

    io_uring: deduplicate __io_fill_cqe_req tracing
    
    Deduplicate two trace_io_uring_complete() calls in __io_fill_cqe_req().
    
    Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
    Link: https://lore.kernel.org/r/277ed85dba5189ab7d932164b314013a0f0b0fdc.1655455613.git.asml.silence@gmail.com
    Signed-off-by: Jens Axboe <axboe@kernel.dk>

Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
2023-04-29 06:16:02 -04:00
Jeff Moyer 6c77a43ef4 io_uring: introduce io_req_cqe_overflow()
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2068237

commit 68494a65d0e2de3d99b28ae050971b6161eabac0
Author: Pavel Begunkov <asml.silence@gmail.com>
Date:   Fri Jun 17 09:48:02 2022 +0100

    io_uring: introduce io_req_cqe_overflow()
    
    __io_fill_cqe_req() is hot and inlined, we want it to be as small as
    possible. Add io_req_cqe_overflow() accepting only a request and doing
    all overflow accounting, and replace with it two calls to 6 argument
    io_cqring_event_overflow().
    
    Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
    Link: https://lore.kernel.org/r/048b9fbcce56814d77a1a540409c98c3d383edcb.1655455613.git.asml.silence@gmail.com
    Signed-off-by: Jens Axboe <axboe@kernel.dk>

Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
2023-04-29 06:15:02 -04:00
Jeff Moyer d675f0adba io_uring: don't inline __io_get_cqe()
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2068237

commit faf88dde060f74117b3a86a62cb32a20f27fd636
Author: Pavel Begunkov <asml.silence@gmail.com>
Date:   Fri Jun 17 09:48:01 2022 +0100

    io_uring: don't inline __io_get_cqe()
    
    __io_get_cqe() is not as hot as io_get_cqe(), no need to inline it, it
    sheds ~500B from the binary.
    
    Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
    Link: https://lore.kernel.org/r/c1ac829198a881b7af8710926f99a3559b9f24c0.1655455613.git.asml.silence@gmail.com
    Signed-off-by: Jens Axboe <axboe@kernel.dk>

Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
2023-04-29 06:14:02 -04:00
Jeff Moyer 14da90670c io_uring: don't expose io_fill_cqe_aux()
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2068237

commit d245bca6375bccfd589a6a7d5007df28575bb626
Author: Pavel Begunkov <asml.silence@gmail.com>
Date:   Fri Jun 17 09:48:00 2022 +0100

    io_uring: don't expose io_fill_cqe_aux()
    
    Deduplicate some code and add a helper for filling an aux CQE, locking
    and notification.
    
    Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
    Link: https://lore.kernel.org/r/b7c6557c8f9dc5c4cfb01292116c682a0ff61081.1655455613.git.asml.silence@gmail.com
    Signed-off-by: Jens Axboe <axboe@kernel.dk>

Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
2023-04-29 06:13:02 -04:00
Jeff Moyer f2f2ec57f6 io_uring: kill REQ_F_COMPLETE_INLINE
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2068237

commit 75d7b3aec13be557f15d099dc612dd658d670d1d
Author: Pavel Begunkov <asml.silence@gmail.com>
Date:   Thu Jun 16 10:21:58 2022 +0100

    io_uring: kill REQ_F_COMPLETE_INLINE
    
    REQ_F_COMPLETE_INLINE is only needed to delay queueing into the
    completion list to io_queue_sqe() as __io_req_complete() is inlined and
    we don't want to bloat the kernel.
    
    As now we complete in a more centralised fashion in io_issue_sqe() we
    can get rid of the flag and queue to the list directly.
    
    Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
    Link: https://lore.kernel.org/r/600ba20a9338b8a39b249b23d3d177803613dde4.1655371007.git.asml.silence@gmail.com
    Reviewed-by: Hao Xu <howeyxu@tencent.com>
    Signed-off-by: Jens Axboe <axboe@kernel.dk>

Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
2023-04-29 05:57:02 -04:00
Jeff Moyer 7e5067feb4 io_uring: move small helpers to headers
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2068237

commit aa1e90f64ee5c82f6d3feb69b2a19370686f1f02
Author: Pavel Begunkov <asml.silence@gmail.com>
Date:   Wed Jun 15 17:33:51 2022 +0100

    io_uring: move small helpers to headers
    
    There is a bunch of inline helpers that will be useful not only to the
    core of io_uring, move them to headers.
    
    Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
    Link: https://lore.kernel.org/r/22df99c83723e44cba7e945e8519e64e3642c064.1655310733.git.asml.silence@gmail.com
    Signed-off-by: Jens Axboe <axboe@kernel.dk>

Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
2023-04-29 05:49:02 -04:00
Jeff Moyer f76623db89 io_uring: move read/write related opcodes to its own file
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2068237

commit f3b44f92e59a804cf375479bda0bccbf4b6e6ef6
Author: Jens Axboe <axboe@kernel.dk>
Date:   Mon Jun 13 07:27:03 2022 -0600

    io_uring: move read/write related opcodes to its own file
    
    Signed-off-by: Jens Axboe <axboe@kernel.dk>

Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
2023-04-29 05:41:02 -04:00
Jeff Moyer 796fa3b9c5 io_uring: move remaining file table manipulation to filetable.c
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2068237

commit c98817e6cd4471a6f6283813dd6efea162f5ac5f
Author: Jens Axboe <axboe@kernel.dk>
Date:   Thu May 26 09:44:31 2022 -0600

    io_uring: move remaining file table manipulation to filetable.c
    
    Signed-off-by: Jens Axboe <axboe@kernel.dk>

Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
2023-04-29 05:40:02 -04:00
Jeff Moyer 35319b7b26 io_uring: move rsrc related data, core, and commands
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2068237

commit 73572984481907d92673255b494c0ff4f77c8ed4
Author: Jens Axboe <axboe@kernel.dk>
Date:   Mon Jun 13 07:12:45 2022 -0600

    io_uring: move rsrc related data, core, and commands
    
    Signed-off-by: Jens Axboe <axboe@kernel.dk>

Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
2023-04-29 05:39:02 -04:00
Jeff Moyer bc165e5818 io_uring: split provided buffers handling into its own file
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2068237

commit 3b77495a97239faa27989f946d29b6be7dd091e9
Author: Jens Axboe <axboe@kernel.dk>
Date:   Mon Jun 13 07:07:23 2022 -0600

    io_uring: split provided buffers handling into its own file
    
    Move both the opcodes related to it, and the internals code dealing with
    it.
    
    Signed-off-by: Jens Axboe <axboe@kernel.dk>

Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
2023-04-29 05:38:02 -04:00
Jeff Moyer 4b7eca3078 io_uring: move cancelation into its own file
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2068237

commit 7aaff708a768144ec6459f0a58301be1a6b982fc
Author: Jens Axboe <axboe@kernel.dk>
Date:   Wed May 25 20:36:47 2022 -0600

    io_uring: move cancelation into its own file
    
    This also helps cleanup the io_uring.h cancel parts, as we can make
    things static in the cancel.c file, mostly.
    
    Signed-off-by: Jens Axboe <axboe@kernel.dk>

Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
2023-04-29 05:37:02 -04:00
Jeff Moyer 8b159d94cc io_uring: move poll handling into its own file
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2068237

commit 329061d3e2f9a0082a097e9558bd5497098586c6
Author: Jens Axboe <axboe@kernel.dk>
Date:   Wed May 25 20:31:09 2022 -0600

    io_uring: move poll handling into its own file
    
    Add a io_poll_issue() rather than export the general task_work locking
    and io_issue_sqe(), and put the io_op_defs definition and structure into
    a separate header file so that poll can use it.
    
    Signed-off-by: Jens Axboe <axboe@kernel.dk>

Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
2023-04-29 05:36:02 -04:00
Jeff Moyer 6eeafa199e io_uring: move io_uring_task (tctx) helpers into its own file
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2068237

commit c9f06aa7de153cdbe424e7e38be39f2272cf78bc
Author: Jens Axboe <axboe@kernel.dk>
Date:   Wed May 25 11:01:04 2022 -0600

    io_uring: move io_uring_task (tctx) helpers into its own file
    
    Signed-off-by: Jens Axboe <axboe@kernel.dk>

Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
2023-04-29 05:33:02 -04:00
Jeff Moyer 0b209dff14 io_uring: move SQPOLL related handling into its own file
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2068237

commit 17437f311490d873a5157f65a84317d16270fd38
Author: Jens Axboe <axboe@kernel.dk>
Date:   Wed May 25 09:13:39 2022 -0600

    io_uring: move SQPOLL related handling into its own file
    
    Signed-off-by: Jens Axboe <axboe@kernel.dk>

Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
2023-04-29 05:30:02 -04:00
Jeff Moyer 61fb9ef3fc io_uring: move timeout opcodes and handling into its own file
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2068237

commit 59915143e89fb8dc7b5bd9dcaf628d8181fd54ac
Author: Jens Axboe <axboe@kernel.dk>
Date:   Wed May 25 08:57:27 2022 -0600

    io_uring: move timeout opcodes and handling into its own file
    
    Signed-off-by: Jens Axboe <axboe@kernel.dk>

Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
2023-04-29 05:29:02 -04:00
Jeff Moyer 38ad21ddaf io_uring: split network related opcodes into its own file
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2068237

commit f9ead18c10589a351f395ac5aa107360f2f6ce53
Author: Jens Axboe <axboe@kernel.dk>
Date:   Wed May 25 06:25:13 2022 -0600

    io_uring: split network related opcodes into its own file
    
    While at it, convert the handlers to just use io_eopnotsupp_prep()
    if CONFIG_NET isn't set.
    
    Signed-off-by: Jens Axboe <axboe@kernel.dk>

Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
2023-04-29 05:26:02 -04:00
Jeff Moyer dab07a0205 io_uring: move uring_cmd handling to its own file
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2068237

commit 99f15d8d61364299ae780cc739c74068a6d2538d
Author: Jens Axboe <axboe@kernel.dk>
Date:   Wed May 25 05:59:19 2022 -0600

    io_uring: move uring_cmd handling to its own file
    
    Signed-off-by: Jens Axboe <axboe@kernel.dk>

Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
2023-04-29 05:22:02 -04:00
Jeff Moyer 83351dc041 io_uring: split out open/close operations
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2068237

commit cd40cae29ef815de6f7e72207b677c78f43f4688
Author: Jens Axboe <axboe@kernel.dk>
Date:   Tue May 24 21:54:43 2022 -0600

    io_uring: split out open/close operations
    
    Signed-off-by: Jens Axboe <axboe@kernel.dk>

Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
2023-04-29 05:21:02 -04:00
Jeff Moyer d536504185 io_uring: split out splice related operations
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2068237

commit 531113bbd5bfc93e8de45440752af11c751e4aaf
Author: Jens Axboe <axboe@kernel.dk>
Date:   Tue May 24 21:19:47 2022 -0600

    io_uring: split out splice related operations
    
    This splits out splice and tee support.
    
    Signed-off-by: Jens Axboe <axboe@kernel.dk>

Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
2023-04-29 05:17:02 -04:00
Jeff Moyer 3a0b4be3f1 io_uring: handle completions in the core
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2068237

commit 97b388d70b53fd7d286ac1b81e5a88bd6af98209
Author: Jens Axboe <axboe@kernel.dk>
Date:   Tue May 24 15:21:00 2022 -0600

    io_uring: handle completions in the core
    
    Normally request handlers complete requests themselves, if they don't
    return an error. For the latter case, the core will complete it for
    them.
    
    This is unhandy for pushing opcode handlers further out, as we don't
    want a bunch of inline completion code and we don't want to make the
    completion path slower than it is now.
    
    Let the core handle any completion, unless the handler explicitly
    asks us not to.
    
    Signed-off-by: Jens Axboe <axboe@kernel.dk>

Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
2023-04-29 05:13:02 -04:00
Jeff Moyer f7365c5d4b io_uring: set completion results upfront
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2068237

commit de23077eda61f549dbdadc4b6aa95f6e7b251552
Author: Jens Axboe <axboe@kernel.dk>
Date:   Tue May 24 12:45:38 2022 -0600

    io_uring: set completion results upfront
    
    Signed-off-by: Jens Axboe <axboe@kernel.dk>

Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
2023-04-29 05:12:02 -04:00