Please enable JavaScript.
Coggle requires JavaScript to display documents.
io_uring buffer abstration - Coggle Diagram
io_uring buffer abstration
motivation
simplify OP buffer use
OP uses buffer in generic way
plugin
support new buffer type easily
ideas
typical buffer operations
import
if re-import is supported
iterator
glue for kernel iov_iter
free_iovec management
setup
setup_in_prep()
setup_in_issue()
buffer recyle
buffer teardown
typical buffers
plain ubuf
imported in ->prep()
fixed buffer
imported in ->prep()
can be moved to ->issue()
yes
provided buffer
imported in ->issue()
special ubuf
kernel buffer in sqe group
chanllenge
each OP defines its own data type
design
define one generic buffer structure
where to store
embedded into request
or just one buffer handle
OP's async data
generic buffer opertions
per OP
OP implements buffer operation
how to use
pass &ops & request to buffer API
or per buffer type OP
seems not necessary
we can provide generic API for each single type buffer
multishot
auto-read/recv
net zc
buf completion notify
facts
net
fs