[Libguestfs] [PATCH libnbd 0/8] nbdcopy: Adaptive queue size

Nir Soffer
Sun, 20 Feb 2022 12:13:55 -0000

This series add adaptive queue size feature, which gives great
performance improvmemnt on my laptop, but less exciting results on a
real server. When qemu-nbd will support MULTI-CON for writes, this
should become more interesting.

To implement this I added a worker struct for keeping worker state, and
cleaned up the completion flow and other stuff. I think these cleanups
are a good idea even if we do not add adaptive queue size.

Nir Soffer (8):
  copy: Remove wrong references to holes
  copy: Rename copy_subcommand to create_subcommand
  copy: Extract create_command and create_buffer helpers
  copy: Separate finishing a command from freeing it
  copy: Introduce worker struct
  copy: Keep worker pointer in command
  copy: Track worker queue size
  copy: Adaptive queue size

 copy/file-ops.c             |   4 +-
 copy/main.c                 |  58 +++++---
 copy/multi-thread-copying.c | 270 ++++++++++++++++++++++--------------
 copy/nbd-ops.c              |  16 +--
 copy/nbdcopy.h              |  31 +++--
 copy/nbdcopy.pod            |  12 +-
 copy/null-ops.c             |   4 +-
 copy/pipe-ops.c             |   2 +-
 8 files changed, 248 insertions(+), 149 deletions(-)

--
2.35.1