On Thu, Mar 13, 2025 at 08:57:45AM +0000, Pavel Begunkov wrote:
On 3/12/25 14:23, Sidong Yang wrote:
This patche series introduce io_uring_cmd_import_vec. With this function,
Multiple fixed buffer could be used in uring cmd. It's vectored version
for io_uring_cmd_import_fixed(). Also this patch series includes a usage
for new api for encoded read in btrfs by using uring cmd.
Pretty much same thing, we're still left with 2 allocations in the
hot path. What I think we can do here is to add caching on the
io_uring side as we do with rw / net, but that would be invisible
for cmd drivers. And that cache can be reused for normal iovec imports.
https://github.com/isilence/linux.git regvec-import-cmd
(link for convenience)
https://github.com/isilence/linux/tree/regvec-import-cmd
Not really target tested, no btrfs, not any other user, just an idea.
There are 4 patches, but the top 3 are of interest.
Thanks, I justed checked the commits now. I think cache is good to resolve
this without allocation if cache hit. Let me reimpl this idea and test it
for btrfs.