From: Fabiano Rosas <farosas@suse.de>
To: Steven Sistare <steven.sistare@oracle.com>, qemu-devel@nongnu.org
Cc: Juan Quintela <quintela@redhat.com>, Peter Xu <peterx@redhat.com>,
Leonardo Bras <leobras@redhat.com>,
"Daniel P. Berrange" <berrange@redhat.com>
Subject: Re: [PATCH V2 6/6] tests/qtest: migration: add reboot mode test
Date: Wed, 01 Nov 2023 13:52:16 -0300 [thread overview]
Message-ID: <87pm0tfmbj.fsf@suse.de> (raw)
In-Reply-To: <4c70d707-d33a-4f33-bd1c-a0811776daed@oracle.com>
Steven Sistare <steven.sistare@oracle.com> writes:
> On 11/1/2023 9:57 AM, Steven Sistare wrote:
>> On 11/1/2023 9:34 AM, Fabiano Rosas wrote:
>>> Steve Sistare <steven.sistare@oracle.com> writes:
>>>
>>>> Signed-off-by: Steve Sistare <steven.sistare@oracle.com>
>>>> ---
>>>> tests/qtest/migration-test.c | 27 +++++++++++++++++++++++++++
>>>> 1 file changed, 27 insertions(+)
>>>>
>>>> diff --git a/tests/qtest/migration-test.c b/tests/qtest/migration-test.c
>>>> index e1c1105..de29fc5 100644
>>>> --- a/tests/qtest/migration-test.c
>>>> +++ b/tests/qtest/migration-test.c
>>>> @@ -2001,6 +2001,31 @@ static void test_precopy_file_offset_bad(void)
>>>> test_file_common(&args, false);
>>>> }
>>>>
>>>> +static void *test_mode_reboot_start(QTestState *from, QTestState *to)
>>>> +{
>>>> + migrate_set_parameter_str(from, "mode", "cpr-reboot");
>>>> + migrate_set_parameter_str(to, "mode", "cpr-reboot");
>>>> +
>>>> + migrate_set_capability(from, "x-ignore-shared", true);
>>>> + migrate_set_capability(to, "x-ignore-shared", true);
>>>> +
>>>> + return NULL;
>>>> +}
>>>> +
>>>> +static void test_mode_reboot(void)
>>>> +{
>>>> + g_autofree char *uri = g_strdup_printf("file:%s/%s", tmpfs,
>>>> + FILE_TEST_FILENAME);
>>>> + MigrateCommon args = {
>>>> + .start.use_shmem = true,
>>>> + .connect_uri = uri,
>>>> + .listen_uri = "defer",
>>>> + .start_hook = test_mode_reboot_start
>>>> + };
>>>> +
>>>> + test_file_common(&args, true);
>>>> +}
>>>> +
>>>> static void test_precopy_tcp_plain(void)
>>>> {
>>>> MigrateCommon args = {
>>>> @@ -3056,6 +3081,8 @@ int main(int argc, char **argv)
>>>> qtest_add_func("/migration/precopy/file/offset/bad",
>>>> test_precopy_file_offset_bad);
>>>>
>>>> + qtest_add_func("/migration/mode/reboot", test_mode_reboot);
>>>> +
>>>> #ifdef CONFIG_GNUTLS
>>>> qtest_add_func("/migration/precopy/unix/tls/psk",
>>>> test_precopy_unix_tls_psk);
>>>
>>> We have an issue with this test on CI:
>>>
>>> $ df -h /dev/shm
>>> Filesystem Size Used Avail Use% Mounted on
>>> shm 64M 0 64M 0% /dev/shm
>>>
>>> These are shared CI runners, so AFAICT there's no way to increase the
>>> shared memory size.
>>>
>>> Reducing the memory for this single test also wouldn't work because we
>>> can run migration-test for different archs in parallel + there's the
>>> ivshmem_test which uses 4M.
>>>
>>> Maybe just leave it out of CI? Laptops will probably have enough shared
>>> memory to not hit this. If we add a warning comment to the test, might
>>> be enough.
>>
>> in test_migrate_start, I could set memory_size very small if use_shmem, and adjust
>> start_address and end_address. Can you suggest a safe size?
We need at least ~4M for the MAGIC_MARKER logic to work. Then each
architecture will have a minimum memory size it needs to even be able to
boot. Then we'll need ~2M (to be safe) for the a-b code itself.
One issue I can see already is that ppc needs at least 256M to boot. We
currently only test ppc with KVM, but we need to make sure the custom
runners (not even sure we have ppc baremetal) would have enough shared
memory. Another issue is that there's not much stopping us from testing
ppc with TCG as well. In fact, I'm highly in favor of bringing back
s390x and ppc64le with TCG for migration-test. It's just a pain to test
those otherwise.
x86 seems like it could go as low as ~6M.
aarch64 only needs 512k for the kernel, but I'm not having success with
less than 110M. Probably some firmware + device tree taking up space,
I'm not sure.
>
> Ugh, I would also need to dynamically change TEST_MEM_END and ARM_TEST_MEM_END in
> a-b-bootblock.S and a-b-kernel.S, like I do for the suspend_me variable in my
> work-in-progress patch "tests/qtest: option to suspend during migration".
I'm leaning towards just checking the GITLAB_CI environment variable and
skipping the test on CI.
Juan, any preference?
next prev parent reply other threads:[~2023-11-01 16:52 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-25 19:44 [PATCH V2 0/6] Live Update reboot mode Steve Sistare
2023-10-25 19:44 ` [PATCH V2 1/6] migration: mode parameter Steve Sistare
2023-10-31 13:17 ` Juan Quintela
2023-10-25 19:44 ` [PATCH V2 2/6] migration: per-mode blockers Steve Sistare
2023-10-25 19:44 ` [PATCH V2 3/6] cpr: relax blockdev migration blockers Steve Sistare
2023-10-31 15:41 ` Peter Xu
2023-10-25 19:44 ` [PATCH V2 4/6] cpr: relax vhost " Steve Sistare
2023-10-31 15:44 ` Peter Xu
2023-10-25 19:44 ` [PATCH V2 5/6] cpr: reboot mode Steve Sistare
2023-10-31 13:21 ` Juan Quintela
2023-10-25 19:44 ` [PATCH V2 6/6] tests/qtest: migration: add reboot mode test Steve Sistare
2023-10-31 13:19 ` Juan Quintela
2023-11-01 13:34 ` Fabiano Rosas
2023-11-01 13:57 ` Steven Sistare
2023-11-01 16:26 ` Steven Sistare
2023-11-01 16:52 ` Fabiano Rosas [this message]
-- strict thread matches above, loose matches on Subject: below --
2023-10-26 20:08 [PATCH V2 0/6] Live Update reboot mode Steve Sistare
2023-10-26 20:08 ` [PATCH V2 6/6] tests/qtest: migration: add reboot mode test Steve Sistare
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87pm0tfmbj.fsf@suse.de \
--to=farosas@suse.de \
--cc=berrange@redhat.com \
--cc=leobras@redhat.com \
--cc=peterx@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=quintela@redhat.com \
--cc=steven.sistare@oracle.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).