Skip to content

optimise ctx's refs grabbing in io_uring

Pavel Begunkov io-uring lkml 4 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v4 Latest2 patches 5 repliesIn review
  2. v32 patches 1 replySuperseded
  3. v23 patches 5 repliesSuperseded
Earlier versions · 1
VersionPostedPatchesRepliesStatus
v12 patches10 repliesSuperseded

Patches in v4 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/2pcpu_ref: add percpu_ref_tryget_many()include/linux/percpu-refcount.h+21 -50 replies
2/2io_uring: batch getting pcpu referencesfs/io_uring.c+17 -95 replies

Reviews trailers per patch

1 of 2 patches has a Reviewed-by or Acked-by.

PatchTejun HeoDennis Zhou
1/2A-b A-b
2/2

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v4 thread

Cover letter [PATCH v4 0/2] optimise ctx's refs grabbing in io_uring

Optimise percpu_ref_tryget() by not calling it for each request, but batching it. This gave a measurable ~5% performance boost for large QD.

v2: fix uncommited plug (Jens Axboe)
better comments for percpu_ref_tryget_many (Dennis Zhou) amortise across io_uring_enter() boundary

v3: drop "batching across syscalls"
remove error handling in io_submit_sqes() from common path

v4: fix error handling

Pavel Begunkov (2):
pcpu_ref: add percpu_ref_tryget_many()
io_uring: batch getting pcpu references

 fs/io_uring.c                   | 26 +++++++++++++++++---------
 include/linux/percpu-refcount.h | 26 +++++++++++++++++++++-----
 2 files changed, 38 insertions(+), 14 deletions(-)
Signature · 1 line
2.24.0