qemu-block
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-block] Change in qemu 2.12 causes qemu-img convert to NBD to w


From: Nir Soffer
Subject: Re: [Qemu-block] Change in qemu 2.12 causes qemu-img convert to NBD to write more data
Date: Wed, 7 Nov 2018 16:56:48 +0200


Wed, Nov 7, 2018 at 4:36 PM Richard W.M. Jones <address@hidden> wrote:
Another thing I tried was to change the NBD server (nbdkit) so that it
doesn't advertise zero support to the client:

  $ nbdkit --filter=log --filter=nozero memory size=6G logfile=/tmp/log \
      --run './qemu-img convert ./fedora-28.img -n $nbd'
  $ grep '\.\.\.$' /tmp/log | sed 's/.*\([A-Z][a-z]*\).*/\1/' | uniq -c
   2154 Write

Not surprisingly no zero commands are issued.  The size of the write
commands is very uneven -- it appears to be send one command per block
of zeroes or data.

Nir: If we could get information from imageio about whether zeroing is
implemented efficiently or not by the backend, we could change
virt-v2v / nbdkit to advertise this back to qemu.

There is no way to detect the capability, ioctl(BLKZEROOUT) always
succeeds, falling back to manual zeroing in the kernel silently

Even if we could, sending zero on the wire from qemu may be even
slower, and it looks like qemu send even more requests in this case
(2154 vs ~1300).

Looks like this optimization in qemu side leads to worse performance,
so it should not be enabled by default.

Nir

reply via email to

[Prev in Thread] Current Thread [Next in Thread]