Comment by vlovich123
6 months ago
The memory is allocated by the runtime that has the io_uring backend. You ask it for memory which it manages in its own memory allocator. Lifetime is managed no differently than Vec. For example, when you drop the DmaBuffer [1] it goes back into the pool. Or you hand it off as an I/O submission after filling it up.
The memory frequently needs to be mlocked memory anyway, so a general purpose allocator doesn't work.
[1] https://docs.rs/glommio/latest/glommio/fn.allocate_dma_buffe...
No comments yet
Contribute on Hacker News ↗