[$] Zero-copy I/O for ublk, three different ways

Post Syndicated from original https://lwn.net/Articles/926118/

The ublk subsystem enables the creation of
user-space block drivers that communicate with the kernel using io_uring. Drivers implemented this way show
some promise with regard to performance, but there is a bottleneck in the
way: copying data between the kernel and the user-space driver’s address
space. It is thus not surprising that there is interest in implementing
zero-copy I/O for ublk. The mailing lists have recently seen three
different proposals for how this could be done.