On 11/18/24 6:22 PM, Gabriel Krisman Bertazi wrote: > 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. Nice! Patchset looks good, from a quick look, even from just a cleanup perspective. We're obviously inside the merge window right now, so it's a 6.14 target at this point. I'll take some timer to review it a bit closer later this week. > 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. In general, running the liburing test suite with various types of files and devices and with KASAN and LOCKDEP turned on is a good test of not having messed something up, in a big way at least. But maybe you already ran that too? -- Jens Axboe