qemu-block
[Top][All Lists]
Advanced

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

Re: [PATCH 6/7] iotests/129: Limit mirror job's buffer size


From: Vladimir Sementsov-Ogievskiy
Subject: Re: [PATCH 6/7] iotests/129: Limit mirror job's buffer size
Date: Wed, 13 Jan 2021 20:02:57 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.6.0

13.01.2021 17:06, Max Reitz wrote:
Issuing 'stop' on the VM drains all nodes.  If the mirror job has many
large requests in flight, this may lead to significant I/O that looks a
bit like the job is being drained.

what do you mean by "looks like the job is being drained"? If "drain"
in Qemu means "flush all in-flight requests, and don't create more during
the drain", then job is exactly "drained" during the drain..

do you mean, that it looks like "job trying to finish copying the whole drive"? Or "job 
hangs", or "stop hangs"...


We can limit the I/O in flight by limiting the buffer size, so mirror
will make very little progress during the 'stop' drain.

(We do not need to do anything about commit, which has a buffer size of
512 kB by default; or backup, which goes cluster by cluster.  Once we
have asynchronous requests for backup, that will change, but then we can
fine-tune the backup job to only perform a single request on a very
small chunk, too.)

OK


Signed-off-by: Max Reitz <mreitz@redhat.com>

Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>

---
  tests/qemu-iotests/129 | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/qemu-iotests/129 b/tests/qemu-iotests/129
index e6753c90ef..c3ad584ba2 100755
--- a/tests/qemu-iotests/129
+++ b/tests/qemu-iotests/129
@@ -69,7 +69,7 @@ class TestStopWithBlockJob(iotests.QMPTestCase):
      def test_drive_mirror(self):
          self.do_test_stop("drive-mirror", device="drive0",
                            target=self.target_img, format=iotests.imgfmt,
-                          sync="full")
+                          sync="full", buf_size=65536)
def test_drive_backup(self):
          self.do_test_stop("drive-backup", device="drive0",



--
Best regards,
Vladimir



reply via email to

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