On 11/1/2023 9:57 AM, Steven Sistare wrote:
> On 11/1/2023 9:34 AM, Fabiano Rosas wrote:
>> Steve Sistare <steven.sist...@oracle.com> writes:
>>
>>> Signed-off-by: Steve Sistare <steven.sist...@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?

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".

- Steve

Reply via email to