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 _______________________________________________ Libguestfs mailing list Libguestfs@redhat.com https://listman.redhat.com/mailman/listinfo/libguestfs