#
97c96e9f |
| 26-Sep-2022 |
Dylan Yudaken <dylany@fb.com> |
io_uring: simplify __io_uring_add_tctx_node
Remove submitter parameter from __io_uring_add_tctx_node.
It was only called from one place, and we can do that logic in that one place.
Signed-off-by:
io_uring: simplify __io_uring_add_tctx_node
Remove submitter parameter from __io_uring_add_tctx_node.
It was only called from one place, and we can do that logic in that one place.
Signed-off-by: Dylan Yudaken <dylany@fb.com> Fixes: 97bbdc06a444 ("io_uring: add IORING_SETUP_SINGLE_ISSUER") Signed-off-by: Jens Axboe <axboe@kernel.dk>
show more ...
|
#
e70cb608 |
| 12-Jul-2022 |
Pavel Begunkov <asml.silence@gmail.com> |
io_uring: export io_put_task()
Make io_put_task() available to non-core parts of io_uring, we'll need it for notification infrastructure.
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com> Link
io_uring: export io_put_task()
Make io_put_task() available to non-core parts of io_uring, we'll need it for notification infrastructure.
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com> Link: https://lore.kernel.org/r/3686807d4c03b72e389947b0e8692d4d44334ef0.1657643355.git.asml.silence@gmail.com Signed-off-by: Jens Axboe <axboe@kernel.dk>
show more ...
|
#
f88262e6 |
| 22-Jun-2022 |
Dylan Yudaken <dylany@fb.com> |
io_uring: lockless task list
With networking use cases we see contention on the spinlock used to protect the task_list when multiple threads try and add completions at once. Instead we can use a loc
io_uring: lockless task list
With networking use cases we see contention on the spinlock used to protect the task_list when multiple threads try and add completions at once. Instead we can use a lockless list, and assume that the first caller to add to the list is responsible for kicking off task work.
Signed-off-by: Dylan Yudaken <dylany@fb.com> Link: https://lore.kernel.org/r/20220622134028.2013417-4-dylany@fb.com Signed-off-by: Jens Axboe <axboe@kernel.dk>
show more ...
|
#
ed5ccb3b |
| 22-Jun-2022 |
Dylan Yudaken <dylany@fb.com> |
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.
Sign
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>
show more ...
|
#
4a0fef62 |
| 20-Jun-2022 |
Pavel Begunkov <asml.silence@gmail.com> |
io_uring: optimize io_uring_task layout
task_work bits of io_uring_task are split into two cache lines causing extra cache bouncing, place them into a separate cache line. Also move the most used su
io_uring: optimize io_uring_task layout
task_work bits of io_uring_task are split into two cache lines causing extra cache bouncing, place them into a separate cache line. Also move the most used submission path fields closer together, so there are hot.
Cc: stable@vger.kernel.org # 5.15+ Signed-off-by: Pavel Begunkov <asml.silence@gmail.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
show more ...
|
#
97bbdc06 |
| 16-Jun-2022 |
Pavel Begunkov <asml.silence@gmail.com> |
io_uring: add IORING_SETUP_SINGLE_ISSUER
Add a new IORING_SETUP_SINGLE_ISSUER flag and the userspace visible part of it, i.e. put limitations of submitters. Also, don't allow it together with IOPOLL
io_uring: add IORING_SETUP_SINGLE_ISSUER
Add a new IORING_SETUP_SINGLE_ISSUER flag and the userspace visible part of it, i.e. put limitations of submitters. Also, don't allow it together with IOPOLL as we're not going to put it to good use.
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com> Link: https://lore.kernel.org/r/4bcc41ee467fdf04c8aab8baf6ce3ba21858c3d4.1655371007.git.asml.silence@gmail.com Reviewed-by: Hao Xu <howeyxu@tencent.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
show more ...
|
#
6a02e4be |
| 15-Jun-2022 |
Pavel Begunkov <asml.silence@gmail.com> |
io_uring: inline ->registered_rings
There can be only 16 registered rings, no need to allocate an array for them separately but store it in tctx.
Signed-off-by: Pavel Begunkov <asml.silence@gmail.c
io_uring: inline ->registered_rings
There can be only 16 registered rings, no need to allocate an array for them separately but store it in tctx.
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com> Link: https://lore.kernel.org/r/495f0b953c87994dd9e13de2134019054fa5830d.1655310733.git.asml.silence@gmail.com Signed-off-by: Jens Axboe <axboe@kernel.dk>
show more ...
|
#
c9f06aa7 |
| 25-May-2022 |
Jens Axboe <axboe@kernel.dk> |
io_uring: move io_uring_task (tctx) helpers into its own file
Signed-off-by: Jens Axboe <axboe@kernel.dk>
|