On 24/01/2020 02:16, Jens Axboe wrote: > Sometimes an applications wants to use multiple smaller rings, because > it's more efficient than sharing a ring. The downside of that is that > we'll create the io-wq backend separately for all of them, while they > would be perfectly happy just sharing that. > > This patchset adds support for that. io_uring_params grows an 'id' field, > which denotes an identifier for the async backend. If an application > wants to utilize sharing, it'll simply grab the id from the first ring > created, and pass it in to the next one and set IORING_SETUP_SHARED. This > allows efficient sharing of backend resources, while allowing multiple > rings in the application or library. > > Not a huge fan of the IORING_SETUP_SHARED name, we should probably make > that better (I'm taking suggestions). > Took a look at the latest version (b942f31ee0 at io_uring-vfs-shared-wq). There is an outdated commit message for the last patch mentioning renamed IORING_SETUP_SHARED, but the code looks good to me. Reviewed-by: Pavel Begunkov -- Pavel Begunkov