public inbox for [email protected]
 help / color / mirror / Atom feed
* [PATCH 0/9] Clean up alloc_cache allocations
@ 2024-11-19  1:22 Gabriel Krisman Bertazi
  2024-11-19  1:22 ` [PATCH 1/9] io_uring: Fold allocation into alloc_cache helper Gabriel Krisman Bertazi
                   ` (9 more replies)
  0 siblings, 10 replies; 15+ messages in thread
From: Gabriel Krisman Bertazi @ 2024-11-19  1:22 UTC (permalink / raw)
  To: axboe, asml.silence; +Cc: io-uring, Gabriel Krisman Bertazi

Jens, Pavel,

The allocation paths that use alloc_cache duplicate the same code
pattern, sometimes in a quite convoluted way.  This series cleans up
that code by folding the allocation into the cache code itself, making
it just an allocator function, and keeping the cache policy invisible to
callers.  A bigger justification for doing this, beyond code simplicity,
is that it makes it trivial to test the impact of disabling the cache
and using slab directly, which I've used for slab improvement
experiments.  I think this is one step forward in the direction
eventually lifting the alloc_cache into a proper magazine layer in slab
out of io_uring.

It survived liburing testsuite, and when microbenchmarking the
read-write path with mmtests and fio, I didn't observe any significant
performance variation (there was actually a 2% gain, but that was
within the variance of the test runs, making it not signficant and
surely test noise).

I'm specifically interested, and happy to do so, if there are specific
benchmarks you'd like me to run it against.

Thanks,

Gabriel Krisman Bertazi (9):
  io_uring: Fold allocation into alloc_cache helper
  io_uring: Add generic helper to allocate async data
  io_uring/futex: Allocate ifd with generic alloc_cache helper
  io_uring/poll: Allocate apoll with generic alloc_cache helper
  io_uring/uring_cmd: Allocate async data through generic helper
  io_uring/net: Allocate msghdr async data through helper
  io_uring/rw: Allocate async data through helper
  io_uring: Move old async data allocation helper to header
  io_uring/msg_ring: Drop custom destructor

 io_uring/alloc_cache.h |  7 +++++++
 io_uring/futex.c       | 13 +------------
 io_uring/io_uring.c    | 17 ++---------------
 io_uring/io_uring.h    | 22 ++++++++++++++++++++++
 io_uring/msg_ring.c    |  7 -------
 io_uring/msg_ring.h    |  1 -
 io_uring/net.c         | 28 ++++++++++------------------
 io_uring/poll.c        | 13 +++++--------
 io_uring/rw.c          | 28 ++++++++--------------------
 io_uring/timeout.c     |  5 ++---
 io_uring/uring_cmd.c   | 20 ++------------------
 io_uring/waitid.c      |  4 ++--
 12 files changed, 61 insertions(+), 104 deletions(-)

-- 
2.47.0


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

end of thread, other threads:[~2024-11-19 16:18 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-11-19  1:22 [PATCH 0/9] Clean up alloc_cache allocations Gabriel Krisman Bertazi
2024-11-19  1:22 ` [PATCH 1/9] io_uring: Fold allocation into alloc_cache helper Gabriel Krisman Bertazi
2024-11-19  2:02   ` Jens Axboe
2024-11-19 15:30     ` Gabriel Krisman Bertazi
2024-11-19 16:18       ` Jens Axboe
2024-11-19  1:22 ` [PATCH 2/9] io_uring: Add generic helper to allocate async data Gabriel Krisman Bertazi
2024-11-19  1:22 ` [PATCH 3/9] io_uring/futex: Allocate ifd with generic alloc_cache helper Gabriel Krisman Bertazi
2024-11-19  1:22 ` [PATCH 4/9] io_uring/poll: Allocate apoll " Gabriel Krisman Bertazi
2024-11-19  1:22 ` [PATCH 5/9] io_uring/uring_cmd: Allocate async data through generic helper Gabriel Krisman Bertazi
2024-11-19  1:22 ` [PATCH 6/9] io_uring/net: Allocate msghdr async data through helper Gabriel Krisman Bertazi
2024-11-19  1:22 ` [PATCH 7/9] io_uring/rw: Allocate " Gabriel Krisman Bertazi
2024-11-19  1:22 ` [PATCH 8/9] io_uring: Move old async data allocation helper to header Gabriel Krisman Bertazi
2024-11-19  1:22 ` [PATCH 9/9] io_uring/msg_ring: Drop custom destructor Gabriel Krisman Bertazi
2024-11-19  2:05 ` [PATCH 0/9] Clean up alloc_cache allocations Jens Axboe
2024-11-19 15:31   ` Gabriel Krisman Bertazi

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