* [Qemu-devel] [PATCH v2] iotest 055: refactor and speed up
@ 2016-08-09 13:15 Vladimir Sementsov-Ogievskiy
2016-08-16 11:44 ` Pavel Butsykin
2016-08-29 12:53 ` Max Reitz
0 siblings, 2 replies; 3+ messages in thread
From: Vladimir Sementsov-Ogievskiy @ 2016-08-09 13:15 UTC (permalink / raw)
To: qemu-block, qemu-devel
Cc: kwolf, mreitz, stefanha, den, vsementsov, famz, jsnow, pbutsykin
Source disk is created and filled with test data before each test case.
Instead initialize it once for the whole unit.
Test disk filling patterns are merged into one pattern.
Also 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>
---
v2: rebase on block-next, as compression test pattern differs, merge patterns.
Need review from Pavel, is new merged disk filling pattern ok for you?
Also, removed from commit message performance measurements. On block-next this test
is too long for other reasons, so for qcow speed is not such significant: for qcow2
I have 7min:33s -> 6min:45s.
tests/qemu-iotests/055 | 52 +++++++++++++++++---------------------------------
1 file changed, 18 insertions(+), 34 deletions(-)
diff --git a/tests/qemu-iotests/055 b/tests/qemu-iotests/055
index ff4535e..1d3fd04 100755
--- a/tests/qemu-iotests/055
+++ b/tests/qemu-iotests/055
@@ -29,17 +29,24 @@ 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 -P0x11 0 64k', test_img)
+ qemu_io('-f', iotests.imgfmt, '-c', 'write -P0x00 64k 128k', test_img)
+ qemu_io('-f', iotests.imgfmt, '-c', 'write -P0x22 162k 32k', 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 -P0x33 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 +55,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)
@@ -155,19 +161,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)
@@ -243,15 +244,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':
@@ -260,7 +254,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)
@@ -454,17 +447,8 @@ class TestDriveCompression(iotests.QMPTestCase):
fmt_supports_compression = [{'type': 'qcow2', 'args': ()},
{'type': 'vmdk', 'args': ('-o', 'subformat=streamOptimized')}]
- def setUp(self):
- # Write data to the image so we can compare later
- qemu_img('create', '-f', iotests.imgfmt, test_img, str(TestDriveCompression.image_len))
- qemu_io('-f', iotests.imgfmt, '-c', 'write -P0x11 0 64k', test_img)
- qemu_io('-f', iotests.imgfmt, '-c', 'write -P0x00 64k 128k', test_img)
- qemu_io('-f', iotests.imgfmt, '-c', 'write -P0x22 162k 32k', test_img)
- qemu_io('-f', iotests.imgfmt, '-c', 'write -P0x33 67043328 64k', test_img)
-
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] 3+ messages in thread
* Re: [Qemu-devel] [PATCH v2] iotest 055: refactor and speed up
2016-08-09 13:15 [Qemu-devel] [PATCH v2] iotest 055: refactor and speed up Vladimir Sementsov-Ogievskiy
@ 2016-08-16 11:44 ` Pavel Butsykin
2016-08-29 12:53 ` Max Reitz
1 sibling, 0 replies; 3+ messages in thread
From: Pavel Butsykin @ 2016-08-16 11:44 UTC (permalink / raw)
To: Vladimir Sementsov-Ogievskiy, qemu-block, qemu-devel
Cc: kwolf, mreitz, stefanha, den, famz, jsnow
On 09.08.2016 16:15, 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.
>
> Test disk filling patterns are merged into one pattern.
>
> Also 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>
> ---
>
> v2: rebase on block-next, as compression test pattern differs, merge patterns.
>
> Need review from Pavel, is new merged disk filling pattern ok for you?
>
> Also, removed from commit message performance measurements. On block-next this test
> is too long for other reasons, so for qcow speed is not such significant: for qcow2
> I have 7min:33s -> 6min:45s.
>
>
> tests/qemu-iotests/055 | 52 +++++++++++++++++---------------------------------
> 1 file changed, 18 insertions(+), 34 deletions(-)
>
Reviewed-by: Pavel Butsykin <pbutsykin@virtuozzo.com>
But unfortunately, here the main slowing factor is vmdk compression.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Qemu-devel] [PATCH v2] iotest 055: refactor and speed up
2016-08-09 13:15 [Qemu-devel] [PATCH v2] iotest 055: refactor and speed up Vladimir Sementsov-Ogievskiy
2016-08-16 11:44 ` Pavel Butsykin
@ 2016-08-29 12:53 ` Max Reitz
1 sibling, 0 replies; 3+ messages in thread
From: Max Reitz @ 2016-08-29 12:53 UTC (permalink / raw)
To: Vladimir Sementsov-Ogievskiy, qemu-block, qemu-devel
Cc: kwolf, stefanha, den, famz, jsnow, pbutsykin
[-- Attachment #1: Type: text/plain, Size: 1106 bytes --]
On 09.08.2016 15:15, 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.
>
> Test disk filling patterns are merged into one pattern.
>
> Also 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>
> ---
>
> v2: rebase on block-next, as compression test pattern differs, merge patterns.
>
> Need review from Pavel, is new merged disk filling pattern ok for you?
>
> Also, removed from commit message performance measurements. On block-next this test
> is too long for other reasons, so for qcow speed is not such significant: for qcow2
> I have 7min:33s -> 6min:45s.
>
>
> tests/qemu-iotests/055 | 52 +++++++++++++++++---------------------------------
> 1 file changed, 18 insertions(+), 34 deletions(-)
Thanks, Vladimir, I've applied the patch to my block-next branch:
https://github.com/XanClic/qemu/commits/block-next
Max
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 498 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2016-08-29 12:53 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-08-09 13:15 [Qemu-devel] [PATCH v2] iotest 055: refactor and speed up Vladimir Sementsov-Ogievskiy
2016-08-16 11:44 ` Pavel Butsykin
2016-08-29 12:53 ` Max Reitz
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).