On Mon, Apr 28, 2025 at 01:46:43PM -0500, Eric Blake wrote: > This is a rebase of patches that Rich Jones first posted in 2023: > https://lists.gnu.org/archive/html/qemu-devel/2023-03/msg03320.html > > I'm still leaving the series in an RFC state while I'm trying to > improve the code to better play with all of the multi-queue changes in > the block layer in the meantime. In my own testing, the patches as > presented here are not making any noticeable difference in qemu-img > convert to a local destination file (multi-conn=1 was not much > different than multi-conn=4, although I did validate that multiple > sockets were in use and the round robin code was working). Other > benchmarks did show improvements, such as qemu convert targeting an > nbdkit server on a curl backend getting a 20% boost when I ramped > multi-conn from 1 to 4. > > I have more patches on top of these to post to the list once I can get > benchmark numbers that make more sense.
I'm curious if you are benchmarking UNIX or TCP sockets ? If UNIX sockets, then that recent patch about increasing socket buffer size for UNIX sockets rings alarm bells. ie, I wonder if the artificially low UNIX socket buf size on Linux is preventing you seeing any significant multi-conn benefits ? IOW, add that socket buf size patch on top of this series, before benchmarking again ? > > Richard W.M. Jones (4): > nbd: Add multi-conn option > nbd: Split out block device state from underlying NBD connections > nbd: Open multiple NBD connections if multi-conn is set > nbd: Enable multi-conn using round-robin > > qapi/block-core.json | 8 +- > block/coroutines.h | 5 +- > block/nbd.c | 796 +++++++++++++++++++++++++------------------ > 3 files changed, 479 insertions(+), 330 deletions(-) With regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|