Skip to content

task_put batching

Pavel Begunkov io-uring lkml 1 version Applied

Status from this message: I have applied it, thanks.

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest2 patches 9 repliesApplied

Patches in v1 Applied

#Subject and filesSizeRepliesApplied
1/2tasks: add put_task_struct_many()include/linux/sched/task.h+6 -00 replies
2/2io_uring: batch put_task_struct()fs/io_uring.c+26 -20 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 0/2] task_put batching

For my a bit exaggerated test case perf continues to show high CPU cosumption by io_dismantle(), and so calling it io_iopoll_complete(). Even though the patch doesn't yield throughput increase for my setup, probably because the effect is hidden behind polling, but it definitely improves relative percentage. And the difference should only grow with increasing number of CPUs. Another reason to have this is that atomics may affect other parallel tasks (e.g. which doesn't use io_uring)

before:

io_iopoll_complete: 5.29%
io_dismantle_req:   2.16%

after:

io_iopoll_complete: 3.39%
io_dismantle_req:   0.465%

Pavel Begunkov (2):
tasks: add put_task_struct_many()
io_uring: batch put_task_struct()

 fs/io_uring.c              | 28 ++++++++++++++++++++++++++--
 include/linux/sched/task.h |  6 ++++++
 2 files changed, 32 insertions(+), 2 deletions(-)
Signature · 1 line
2.24.0