<feed xmlns='http://www.w3.org/2005/Atom'>
<title>qemu/tests/migration, branch master</title>
<subtitle>QEMU development tree</subtitle>
<id>https://git.zx2c4.com/qemu/atom/tests/migration?h=master</id>
<link rel='self' href='https://git.zx2c4.com/qemu/atom/tests/migration?h=master'/>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/qemu/'/>
<updated>2024-06-14T17:01:23Z</updated>
<entry>
<title>tests/qtest/migration-test: Use custom asm bios for ppc64</title>
<updated>2024-06-14T17:01:23Z</updated>
<author>
<name>Nicholas Piggin</name>
<email>npiggin@gmail.com</email>
</author>
<published>2024-05-30T07:44:52Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/qemu/commit/?id=34cc54fb356145073051444be9d982c1974ba24e'/>
<id>urn:sha1:34cc54fb356145073051444be9d982c1974ba24e</id>
<content type='text'>
Similar to other archs, build a custom bios memory updater. Running the
test with OF code is a cool trick, but SLOF takes a long time to boot.
This reduces test time by around 3x (150s to 50s).

Reviewed-by: Fabiano Rosas &lt;farosas@suse.de&gt;
Signed-off-by: Nicholas Piggin &lt;npiggin@gmail.com&gt;
Signed-off-by: Fabiano Rosas &lt;farosas@suse.de&gt;
</content>
</entry>
<entry>
<title>tests/qtest: option to suspend during migration</title>
<updated>2024-01-04T01:52:42Z</updated>
<author>
<name>Steve Sistare</name>
<email>steven.sistare@oracle.com</email>
</author>
<published>2024-01-03T20:05:39Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/qemu/commit/?id=5014478e0dc0e7e542e462fe271a24fd07bd813d'/>
<id>urn:sha1:5014478e0dc0e7e542e462fe271a24fd07bd813d</id>
<content type='text'>
Add an option to suspend the src in a-b-bootblock.S, which puts the guest
in S3 state after one round of writing to memory.  The option is enabled by
poking a 1 into the suspend_me word in the boot block prior to starting the
src vm.  Generate symbol offsets in a-b-bootblock.h so that the suspend_me
offset is known.  Generate the bootblock for each test, because suspend_me
may differ for each.

Signed-off-by: Steve Sistare &lt;steven.sistare@oracle.com&gt;
Acked-by: Peter Xu &lt;peterx@redhat.com&gt;
Reviewed-by: Fabiano Rosas &lt;farosas@suse.de&gt;
Link: https://lore.kernel.org/r/1704312341-66640-11-git-send-email-steven.sistare@oracle.com
Signed-off-by: Peter Xu &lt;peterx@redhat.com&gt;
</content>
</entry>
<entry>
<title>tests/migration: Introduce dirty-limit into guestperf</title>
<updated>2023-11-03T06:48:25Z</updated>
<author>
<name>Hyman Huang</name>
<email>yong.huang@smartx.com</email>
</author>
<published>2023-11-01T14:04:08Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/qemu/commit/?id=22b7cb2c79d2df0946ec1cf88dfc1c6973e6008d'/>
<id>urn:sha1:22b7cb2c79d2df0946ec1cf88dfc1c6973e6008d</id>
<content type='text'>
Currently, guestperf does not cover the dirty-limit
migration, support this feature.

Note that dirty-limit requires 'dirty-ring-size' set.

To enable dirty-limit, setting x-vcpu-dirty-limit-period
as 500ms and x-vcpu-dirty-limit as 10MB/s:
$ ./tests/migration/guestperf.py \
    --dirty-ring-size 4096 \
    --dirty-limit --x-vcpu-dirty-limit-period 500 \
    --vcpu-dirty-limit 10 --output output.json \

To run the entire standardized set of dirty-limit-enabled
comparisons, with unix migration:
$ ./tests/migration/guestperf-batch.py \
    --dirty-ring-size 4096 \
    --dst-host localhost --transport unix \
    --filter compr-dirty-limit* --output outputdir

Signed-off-by: Hyman Huang &lt;yong.huang@smartx.com&gt;
Reviewed-by: Fabiano Rosas &lt;farosas@suse.de&gt;
Message-Id: &lt;516e7a55dfc6e33d33510be37eb24223de5dc072.1697815117.git.yong.huang@smartx.com&gt;
Message-ID: &lt;e1283565b00b34b0377bbd27bee4bb8fc7c255a8.1698847223.git.yong.huang@smartx.com&gt;
Signed-off-by: Juan Quintela &lt;quintela@redhat.com&gt;
</content>
</entry>
<entry>
<title>tests/migration: Introduce dirty-ring-size option into guestperf</title>
<updated>2023-11-03T06:48:25Z</updated>
<author>
<name>Hyman Huang</name>
<email>yong.huang@smartx.com</email>
</author>
<published>2023-11-01T14:04:07Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/qemu/commit/?id=4cc563d460b6e8a29d18b27381dab8ca0621f2da'/>
<id>urn:sha1:4cc563d460b6e8a29d18b27381dab8ca0621f2da</id>
<content type='text'>
Dirty ring size configuration is not supported by guestperf tool.

Introduce dirty-ring-size (ranges in [1024, 65536]) option so
developers can play with dirty-ring and dirty-limit feature easier.

To set dirty ring size with 4096 during migration test:
$ ./tests/migration/guestperf.py --dirty-ring-size 4096 xxx

Signed-off-by: Hyman Huang &lt;yong.huang@smartx.com&gt;
Reviewed-by: Fabiano Rosas &lt;farosas@suse.de&gt;
Signed-off-by: Juan Quintela &lt;quintela@redhat.com&gt;
Message-ID: &lt;8a388cec5c1f73a34d42515bbc43837e97ee3839.1698847223.git.yong.huang@smartx.com&gt;
</content>
</entry>
<entry>
<title>python/qemu: rename command() to cmd()</title>
<updated>2023-10-12T18:21:43Z</updated>
<author>
<name>Vladimir Sementsov-Ogievskiy</name>
<email>vsementsov@yandex-team.ru</email>
</author>
<published>2023-10-06T15:41:15Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/qemu/commit/?id=684750ab4f8a3ad69512b71532408be3ac2547d4'/>
<id>urn:sha1:684750ab4f8a3ad69512b71532408be3ac2547d4</id>
<content type='text'>
Use a shorter name. We are going to move in iotests from qmp() to
command() where possible. But command() is longer than qmp() and don't
look better. Let's rename.

You can simply grep for '\.command(' and for 'def command(' to check
that everything is updated (command() in tests/docker/docker.py is
unrelated).

Signed-off-by: Vladimir Sementsov-Ogievskiy &lt;vsementsov@yandex-team.ru&gt;
Reviewed-by: Daniel P. Berrangé &lt;berrange@redhat.com&gt;
Reviewed-by: Eric Blake &lt;eblake@redhat.com&gt;
Reviewed-by: Cédric Le Goater &lt;clg@kaod.org&gt;
Reviewed-by: Juan Quintela &lt;quintela@redhat.com&gt;
Message-id: 20231006154125.1068348-6-vsementsov@yandex-team.ru
[vsementsov: also update three occurrences in
   tests/avocado/machine_aspeed.py and keep r-b]
Signed-off-by: John Snow &lt;jsnow@redhat.com&gt;
</content>
</entry>
<entry>
<title>s390x/a-b-bios: zero the first byte of each page on start</title>
<updated>2023-10-04T09:48:18Z</updated>
<author>
<name>Daniil Tatianin</name>
<email>d-tatianin@yandex-team.ru</email>
</author>
<published>2023-09-19T10:23:46Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/qemu/commit/?id=b28e3ecf0de1bc77b6a1a520e3c223f37b5afce2'/>
<id>urn:sha1:b28e3ecf0de1bc77b6a1a520e3c223f37b5afce2</id>
<content type='text'>
Same as with the x86 verison of this test, we relied on the contents of
all pages in RAM to be the same across the entire test range, which is
very fragile. Zero the first byte of each page before running the
increment loop to fix this.

Fixes: 5571dc824b ("tests/migration: Enable the migration test on s390x, too")
Reviewed-by: Vladimir Sementsov-Ogievskiy &lt;vsementsov@yandex-team.ru&gt;
Reviewed-by: Peter Xu &lt;peterx@redhat.com&gt;
Reviewed-by: Juan Quintela &lt;quintela@redhat.com&gt;
Signed-off-by: Daniil Tatianin &lt;d-tatianin@yandex-team.ru&gt;
Signed-off-by: Juan Quintela &lt;quintela@redhat.com&gt;
Message-ID: &lt;20230919102346.2117963-4-d-tatianin@yandex-team.ru&gt;
</content>
</entry>
<entry>
<title>i386/a-b-bootblock: zero the first byte of each page on start</title>
<updated>2023-10-04T09:47:40Z</updated>
<author>
<name>Daniil Tatianin</name>
<email>d-tatianin@yandex-team.ru</email>
</author>
<published>2023-09-19T10:23:45Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/qemu/commit/?id=adc1914a403e0ec89ebec4761ec8427668261c5b'/>
<id>urn:sha1:adc1914a403e0ec89ebec4761ec8427668261c5b</id>
<content type='text'>
The migration qtest all the way up to this point used to work by sheer
luck relying on the contents of all pages from 1MiB to 100MiB to contain
the same one value in the first byte initially.

This easily breaks if we reduce the amount of RAM for the test instances
from 150MiB to e.g 110MiB since that makes SeaBIOS dirty some of the
pages starting at about 0x5dd2000 (~93 MiB) as it reuses those for the
HighMemory allocator since commit dc88f9b72df ("malloc: use large
ZoneHigh when there is enough memory").

This would result in the following errors:
    12/60 qemu:qtest+qtest-x86_64 / qtest-x86_64/migration-test                 ERROR           2.74s   killed by signal 6 SIGABRT
    stderr:
    Memory content inconsistency at 5dd2000 first_byte = cc last_byte = cb current = 9e hit_edge = 1
    Memory content inconsistency at 5dd3000 first_byte = cc last_byte = cb current = 89 hit_edge = 1
    Memory content inconsistency at 5dd4000 first_byte = cc last_byte = cb current = 23 hit_edge = 1
    Memory content inconsistency at 5dd5000 first_byte = cc last_byte = cb current = 31 hit_edge = 1
    Memory content inconsistency at 5dd6000 first_byte = cc last_byte = cb current = 70 hit_edge = 1
    Memory content inconsistency at 5dd7000 first_byte = cc last_byte = cb current = ff hit_edge = 1
    Memory content inconsistency at 5dd8000 first_byte = cc last_byte = cb current = 54 hit_edge = 1
    Memory content inconsistency at 5dd9000 first_byte = cc last_byte = cb current = 64 hit_edge = 1
    Memory content inconsistency at 5dda000 first_byte = cc last_byte = cb current = 1d hit_edge = 1
    Memory content inconsistency at 5ddb000 first_byte = cc last_byte = cb current = 1a hit_edge = 1
    and in another 26 pages**
    ERROR:../tests/qtest/migration-test.c:300:check_guests_ram: assertion failed: (bad == 0)

Fix this by always zeroing the first byte of each page in the range so
that we get consistent results no matter the initial contents.

Fixes: ea0c6d62391 ("test: Postcopy")
Signed-off-by: Daniil Tatianin &lt;d-tatianin@yandex-team.ru&gt;
Reviewed-by: Peter Xu &lt;peterx@redhat.com&gt;
Reviewed-by: Vladimir Sementsov-Ogievskiy &lt;vsementsov@yandex-team.ru&gt;
Reviewed-by: Juan Quintela &lt;quintela@redhat.com&gt;
Signed-off-by: Juan Quintela &lt;quintela@redhat.com&gt;
Message-ID: &lt;20230919102346.2117963-3-d-tatianin@yandex-team.ru&gt;
</content>
</entry>
<entry>
<title>i386/a-b-bootblock: factor test memory addresses out into constants</title>
<updated>2023-10-04T09:47:29Z</updated>
<author>
<name>Daniil Tatianin</name>
<email>d-tatianin@yandex-team.ru</email>
</author>
<published>2023-09-19T10:23:44Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/qemu/commit/?id=67aeae794e51b3238ced158218edf443f8607626'/>
<id>urn:sha1:67aeae794e51b3238ced158218edf443f8607626</id>
<content type='text'>
So that we have less magic numbers to deal with. This also allows us to
reuse these in the following commits.

Reviewed-by: Peter Xu &lt;peterx@redhat.com&gt;
Reviewed-by: Vladimir Sementsov-Ogievskiy &lt;vsementsov@yandex-team.ru&gt;
Reviewed-by: Juan Quintela &lt;quintela@redhat.com&gt;
Signed-off-by: Daniil Tatianin &lt;d-tatianin@yandex-team.ru&gt;
Signed-off-by: Juan Quintela &lt;quintela@redhat.com&gt;
Message-ID: &lt;20230919102346.2117963-2-d-tatianin@yandex-team.ru&gt;
</content>
</entry>
<entry>
<title>tests/: spelling fixes</title>
<updated>2023-09-08T10:08:52Z</updated>
<author>
<name>Michael Tokarev</name>
<email>mjt@tls.msk.ru</email>
</author>
<published>2023-07-14T11:33:27Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/qemu/commit/?id=96420a30e0b509914609e45456ed3dfd47360a8c'/>
<id>urn:sha1:96420a30e0b509914609e45456ed3dfd47360a8c</id>
<content type='text'>
with some rewording in
 tests/qemu-iotests/298
 tests/qtest/fuzz/generic_fuzz.c
 tests/unit/test-throttle.c
as suggested by Eric.

Signed-off-by: Michael Tokarev &lt;mjt@tls.msk.ru&gt;
Reviewed-by: Eric Blake &lt;eblake@redhat.com&gt;
</content>
</entry>
<entry>
<title>meson: do not unnecessarily use cmake for dependencies</title>
<updated>2023-09-07T11:32:14Z</updated>
<author>
<name>Paolo Bonzini</name>
<email>pbonzini@redhat.com</email>
</author>
<published>2023-08-28T10:03:05Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/qemu/commit/?id=2564dcbf510850b0de55d499a8b6c00d8730b9dd'/>
<id>urn:sha1:2564dcbf510850b0de55d499a8b6c00d8730b9dd</id>
<content type='text'>
Both gvnc and sysprof-capture come with pkg-config files, so specify
the method to find them.

Reviewed-by: Daniel P. Berrangé &lt;berrange@redhat.com&gt;
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
</feed>
