mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-09-01 06:21:52 -06:00
qtest/migration: Document live=true cases
Document every single live=true use cases on why it should be done in the live manner. Also document on the parameter so new precopy cases should always use live=off unless with explicit reasonings. Cc: Thomas Huth <thuth@redhat.com> Cc: Juan Quintela <quintela@redhat.com> Cc: Daniel P. Berrangé <berrange@redhat.com> Reviewed-by: Juan Quintela <quintela@redhat.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Peter Xu <peterx@redhat.com> Message-Id: <20230601172935.175726-1-peterx@redhat.com> Signed-off-by: Juan Quintela <quintela@redhat.com>
This commit is contained in:
parent
3c4fb17723
commit
b861383c26
1 changed files with 31 additions and 6 deletions
|
@ -580,7 +580,14 @@ typedef struct {
|
||||||
/* Optional: set number of migration passes to wait for, if live==true */
|
/* Optional: set number of migration passes to wait for, if live==true */
|
||||||
unsigned int iterations;
|
unsigned int iterations;
|
||||||
|
|
||||||
/* Optional: whether the guest CPUs should be running during migration */
|
/*
|
||||||
|
* Optional: whether the guest CPUs should be running during a precopy
|
||||||
|
* migration test. We used to always run with live but it took much
|
||||||
|
* longer so we reduced live tests to only the ones that have solid
|
||||||
|
* reason to be tested live-only. For each of the new test cases for
|
||||||
|
* precopy please provide justifications to use live explicitly (please
|
||||||
|
* refer to existing ones with live=true), or use live=off by default.
|
||||||
|
*/
|
||||||
bool live;
|
bool live;
|
||||||
|
|
||||||
/* Postcopy specific fields */
|
/* Postcopy specific fields */
|
||||||
|
@ -1491,7 +1498,10 @@ static void test_precopy_unix_plain(void)
|
||||||
MigrateCommon args = {
|
MigrateCommon args = {
|
||||||
.listen_uri = uri,
|
.listen_uri = uri,
|
||||||
.connect_uri = uri,
|
.connect_uri = uri,
|
||||||
|
/*
|
||||||
|
* The simplest use case of precopy, covering smoke tests of
|
||||||
|
* get-dirty-log dirty tracking.
|
||||||
|
*/
|
||||||
.live = true,
|
.live = true,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1508,7 +1518,10 @@ static void test_precopy_unix_dirty_ring(void)
|
||||||
},
|
},
|
||||||
.listen_uri = uri,
|
.listen_uri = uri,
|
||||||
.connect_uri = uri,
|
.connect_uri = uri,
|
||||||
|
/*
|
||||||
|
* Besides the precopy/unix basic test, cover dirty ring interface
|
||||||
|
* rather than get-dirty-log.
|
||||||
|
*/
|
||||||
.live = true,
|
.live = true,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1617,10 +1630,12 @@ static void test_precopy_unix_xbzrle(void)
|
||||||
MigrateCommon args = {
|
MigrateCommon args = {
|
||||||
.connect_uri = uri,
|
.connect_uri = uri,
|
||||||
.listen_uri = uri,
|
.listen_uri = uri,
|
||||||
|
|
||||||
.start_hook = test_migrate_xbzrle_start,
|
.start_hook = test_migrate_xbzrle_start,
|
||||||
|
|
||||||
.iterations = 2,
|
.iterations = 2,
|
||||||
|
/*
|
||||||
|
* XBZRLE needs pages to be modified when doing the 2nd+ round
|
||||||
|
* iteration to have real data pushed to the stream.
|
||||||
|
*/
|
||||||
.live = true,
|
.live = true,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1639,6 +1654,11 @@ static void test_precopy_unix_compress(void)
|
||||||
* the previous iteration.
|
* the previous iteration.
|
||||||
*/
|
*/
|
||||||
.iterations = 2,
|
.iterations = 2,
|
||||||
|
/*
|
||||||
|
* We make sure the compressor can always work well even if guest
|
||||||
|
* memory is changing. See commit 34ab9e9743 where we used to fix
|
||||||
|
* a bug when only trigger-able with guest memory changing.
|
||||||
|
*/
|
||||||
.live = true,
|
.live = true,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1657,6 +1677,7 @@ static void test_precopy_unix_compress_nowait(void)
|
||||||
* the previous iteration.
|
* the previous iteration.
|
||||||
*/
|
*/
|
||||||
.iterations = 2,
|
.iterations = 2,
|
||||||
|
/* Same reason for the wait version of precopy compress test */
|
||||||
.live = true,
|
.live = true,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -2066,7 +2087,11 @@ static void test_multifd_tcp_none(void)
|
||||||
MigrateCommon args = {
|
MigrateCommon args = {
|
||||||
.listen_uri = "defer",
|
.listen_uri = "defer",
|
||||||
.start_hook = test_migrate_precopy_tcp_multifd_start,
|
.start_hook = test_migrate_precopy_tcp_multifd_start,
|
||||||
|
/*
|
||||||
|
* Multifd is more complicated than most of the features, it
|
||||||
|
* directly takes guest page buffers when sending, make sure
|
||||||
|
* everything will work alright even if guest page is changing.
|
||||||
|
*/
|
||||||
.live = true,
|
.live = true,
|
||||||
};
|
};
|
||||||
test_precopy_common(&args);
|
test_precopy_common(&args);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue