Hi Jens, On Mon, Aug 09, 2021 at 03:23:58PM -0600, Jens Axboe wrote: > Add a set of helpers that can encapsulate bio allocations, reusing them > as needed. Caller must provide the necessary locking, if any is needed. > The primary intended use case is polled IO from io_uring, which will not > need any external locking. > > Very simple - keeps a count of bio's in the cache, and maintains a max > of 512 with a slack of 64. If we get above max + slack, we drop slack > number of bio's. > > The cache is intended to be per-task, and the user will need to supply > the storage for it. As io_uring will be the only user right now, provide > a hook that returns the cache there. Stub it out as NULL initially. Is it possible for user space to submit & poll IO from different io_uring tasks? Then one bio may be allocated from bio cache of the submission task, and freed to cache of the poll task? Thanks, Ming