qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] iotest 055: refactor and speed up
@ 2016-08-06 18:09 Vladimir Sementsov-Ogievskiy
  2016-08-08  2:56 ` Fam Zheng
  2016-08-09  8:50 ` Kevin Wolf
  0 siblings, 2 replies; 4+ messages in thread
From: Vladimir Sementsov-Ogievskiy @ 2016-08-06 18:09 UTC (permalink / raw)
  To: qemu-block, qemu-devel
  Cc: kwolf, mreitz, stefanha, den, vsementsov, famz, jsnow

Source disk is created and filled with test data before each test case.
Instead initialize it once for the whole unit.

performance:
qcow2: 25s -> 15s
  raw: 16s -> 11s

Actually, changed only TestSetSpeed: before this patch it used different
image_len and data pattern.
Alse TestSetSpeed used different image_len for source and target (by
mistake) - this is automatically fixed here.

Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
---
 tests/qemu-iotests/055 | 41 ++++++++++++++++-------------------------
 1 file changed, 16 insertions(+), 25 deletions(-)

diff --git a/tests/qemu-iotests/055 b/tests/qemu-iotests/055
index c8e3578..74b50a1 100755
--- a/tests/qemu-iotests/055
+++ b/tests/qemu-iotests/055
@@ -29,17 +29,22 @@ test_img = os.path.join(iotests.test_dir, 'test.img')
 target_img = os.path.join(iotests.test_dir, 'target.img')
 blockdev_target_img = os.path.join(iotests.test_dir, 'blockdev-target.img')
 
-class TestSingleDrive(iotests.QMPTestCase):
-    image_len = 64 * 1024 * 1024 # MB
+image_len = 64 * 1024 * 1024 # MB
+
+def setUpModule():
+    qemu_img('create', '-f', iotests.imgfmt, test_img, str(image_len))
+    qemu_io('-f', iotests.imgfmt, '-c', 'write -P0x5d 0 64k', test_img)
+    qemu_io('-f', iotests.imgfmt, '-c', 'write -P0xd5 1M 32k', test_img)
+    qemu_io('-f', iotests.imgfmt, '-c', 'write -P0xdc 32M 124k', test_img)
+    qemu_io('-f', iotests.imgfmt, '-c', 'write -P0xdc 67043328 64k', test_img)
+
+def tearDownModule():
+    os.remove(test_img)
+
 
+class TestSingleDrive(iotests.QMPTestCase):
     def setUp(self):
-        # Write data to the image so we can compare later
-        qemu_img('create', '-f', iotests.imgfmt, test_img, str(TestSingleDrive.image_len))
-        qemu_io('-f', iotests.imgfmt, '-c', 'write -P0x5d 0 64k', test_img)
-        qemu_io('-f', iotests.imgfmt, '-c', 'write -P0xd5 1M 32k', test_img)
-        qemu_io('-f', iotests.imgfmt, '-c', 'write -P0xdc 32M 124k', test_img)
-        qemu_io('-f', iotests.imgfmt, '-c', 'write -P0xdc 67043328 64k', test_img)
-        qemu_img('create', '-f', iotests.imgfmt, blockdev_target_img, str(TestSingleDrive.image_len))
+        qemu_img('create', '-f', iotests.imgfmt, blockdev_target_img, str(image_len))
 
         self.vm = iotests.VM().add_drive(test_img).add_drive(blockdev_target_img)
         if iotests.qemu_default_machine == 'pc':
@@ -48,7 +53,6 @@ class TestSingleDrive(iotests.QMPTestCase):
 
     def tearDown(self):
         self.vm.shutdown()
-        os.remove(test_img)
         os.remove(blockdev_target_img)
         try:
             os.remove(target_img)
@@ -158,19 +162,14 @@ class TestSingleDrive(iotests.QMPTestCase):
         self.assert_qmp(result, 'error/class', 'GenericError')
 
 class TestSetSpeed(iotests.QMPTestCase):
-    image_len = 80 * 1024 * 1024 # MB
-
     def setUp(self):
-        qemu_img('create', '-f', iotests.imgfmt, test_img, str(TestSetSpeed.image_len))
-        qemu_io('-f', iotests.imgfmt, '-c', 'write -P1 0 512', test_img)
-        qemu_img('create', '-f', iotests.imgfmt, blockdev_target_img, str(TestSingleDrive.image_len))
+        qemu_img('create', '-f', iotests.imgfmt, blockdev_target_img, str(image_len))
 
         self.vm = iotests.VM().add_drive(test_img).add_drive(blockdev_target_img)
         self.vm.launch()
 
     def tearDown(self):
         self.vm.shutdown()
-        os.remove(test_img)
         os.remove(blockdev_target_img)
         try:
             os.remove(target_img)
@@ -246,15 +245,8 @@ class TestSetSpeed(iotests.QMPTestCase):
         self.do_test_set_speed_invalid('blockdev-backup',  'drive1')
 
 class TestSingleTransaction(iotests.QMPTestCase):
-    image_len = 64 * 1024 * 1024 # MB
-
     def setUp(self):
-        qemu_img('create', '-f', iotests.imgfmt, test_img, str(TestSingleTransaction.image_len))
-        qemu_io('-f', iotests.imgfmt, '-c', 'write -P0x5d 0 64k', test_img)
-        qemu_io('-f', iotests.imgfmt, '-c', 'write -P0xd5 1M 32k', test_img)
-        qemu_io('-f', iotests.imgfmt, '-c', 'write -P0xdc 32M 124k', test_img)
-        qemu_io('-f', iotests.imgfmt, '-c', 'write -P0xdc 67043328 64k', test_img)
-        qemu_img('create', '-f', iotests.imgfmt, blockdev_target_img, str(TestSingleDrive.image_len))
+        qemu_img('create', '-f', iotests.imgfmt, blockdev_target_img, str(image_len))
 
         self.vm = iotests.VM().add_drive(test_img).add_drive(blockdev_target_img)
         if iotests.qemu_default_machine == 'pc':
@@ -263,7 +255,6 @@ class TestSingleTransaction(iotests.QMPTestCase):
 
     def tearDown(self):
         self.vm.shutdown()
-        os.remove(test_img)
         os.remove(blockdev_target_img)
         try:
             os.remove(target_img)
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [Qemu-devel] [PATCH] iotest 055: refactor and speed up
  2016-08-06 18:09 [Qemu-devel] [PATCH] iotest 055: refactor and speed up Vladimir Sementsov-Ogievskiy
@ 2016-08-08  2:56 ` Fam Zheng
  2016-08-09  8:50 ` Kevin Wolf
  1 sibling, 0 replies; 4+ messages in thread
From: Fam Zheng @ 2016-08-08  2:56 UTC (permalink / raw)
  To: Vladimir Sementsov-Ogievskiy
  Cc: qemu-block, qemu-devel, kwolf, mreitz, stefanha, den, jsnow

On Sat, 08/06 21:09, Vladimir Sementsov-Ogievskiy wrote:
> Source disk is created and filled with test data before each test case.
> Instead initialize it once for the whole unit.
> 
> performance:
> qcow2: 25s -> 15s
>   raw: 16s -> 11s
> 
> Actually, changed only TestSetSpeed: before this patch it used different
> image_len and data pattern.
> Alse TestSetSpeed used different image_len for source and target (by
> mistake) - this is automatically fixed here.
> 
> Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>

Reviewed-by: Fam Zheng <famz@redhat.com>

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Qemu-devel] [PATCH] iotest 055: refactor and speed up
  2016-08-06 18:09 [Qemu-devel] [PATCH] iotest 055: refactor and speed up Vladimir Sementsov-Ogievskiy
  2016-08-08  2:56 ` Fam Zheng
@ 2016-08-09  8:50 ` Kevin Wolf
  2016-08-09 10:05   ` Vladimir Sementsov-Ogievskiy
  1 sibling, 1 reply; 4+ messages in thread
From: Kevin Wolf @ 2016-08-09  8:50 UTC (permalink / raw)
  To: Vladimir Sementsov-Ogievskiy
  Cc: qemu-block, qemu-devel, mreitz, stefanha, den, famz, jsnow

Am 06.08.2016 um 20:09 hat Vladimir Sementsov-Ogievskiy geschrieben:
> Source disk is created and filled with test data before each test case.
> Instead initialize it once for the whole unit.
> 
> performance:
> qcow2: 25s -> 15s
>   raw: 16s -> 11s
> 
> Actually, changed only TestSetSpeed: before this patch it used different
> image_len and data pattern.
> Alse TestSetSpeed used different image_len for source and target (by
> mistake) - this is automatically fixed here.
> 
> Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>

This doesn't work on top of my block-next branch. The compressed backup
patches add a class which still deletes test.img in its teardown, so any
following tests fail. Can you rebase, please?

Kevin

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Qemu-devel] [PATCH] iotest 055: refactor and speed up
  2016-08-09  8:50 ` Kevin Wolf
@ 2016-08-09 10:05   ` Vladimir Sementsov-Ogievskiy
  0 siblings, 0 replies; 4+ messages in thread
From: Vladimir Sementsov-Ogievskiy @ 2016-08-09 10:05 UTC (permalink / raw)
  To: Kevin Wolf; +Cc: qemu-block, qemu-devel, mreitz, stefanha, den, famz, jsnow

On 09.08.2016 11:50, Kevin Wolf wrote:
> Am 06.08.2016 um 20:09 hat Vladimir Sementsov-Ogievskiy geschrieben:
>> Source disk is created and filled with test data before each test case.
>> Instead initialize it once for the whole unit.
>>
>> performance:
>> qcow2: 25s -> 15s
>>    raw: 16s -> 11s
>>
>> Actually, changed only TestSetSpeed: before this patch it used different
>> image_len and data pattern.
>> Alse TestSetSpeed used different image_len for source and target (by
>> mistake) - this is automatically fixed here.
>>
>> Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
> This doesn't work on top of my block-next branch. The compressed backup
> patches add a class which still deletes test.img in its teardown, so any
> following tests fail. Can you rebase, please?
>
> Kevin
No problem, ok.

-- 
Best regards,
Vladimir

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2016-08-09 10:06 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-08-06 18:09 [Qemu-devel] [PATCH] iotest 055: refactor and speed up Vladimir Sementsov-Ogievskiy
2016-08-08  2:56 ` Fam Zheng
2016-08-09  8:50 ` Kevin Wolf
2016-08-09 10:05   ` Vladimir Sementsov-Ogievskiy

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).