qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 4/4] tests/cpu-plug-test: Test CPU hot-plugging


From: David Hildenbrand
Subject: Re: [Qemu-devel] [PATCH 4/4] tests/cpu-plug-test: Test CPU hot-plugging on s390x
Date: Wed, 18 Oct 2017 10:58:29 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0

On 17.10.2017 15:32, Thomas Huth wrote:
> CPU hot-plugging on s390x is possible with both, "cpu-add"
> and "device_add", so test both.
> 
> Signed-off-by: Thomas Huth <address@hidden>
> ---
>  tests/Makefile.include |  1 +
>  tests/cpu-plug-test.c  | 38 ++++++++++++++++++++++++++++++++++++++
>  2 files changed, 39 insertions(+)
> 
> diff --git a/tests/Makefile.include b/tests/Makefile.include
> index cbec19f..85cf9ea 100644
> --- a/tests/Makefile.include
> +++ b/tests/Makefile.include
> @@ -368,6 +368,7 @@ check-qtest-s390x-$(CONFIG_SLIRP) += 
> tests/test-netfilter$(EXESUF)
>  check-qtest-s390x-$(CONFIG_POSIX) += tests/test-filter-mirror$(EXESUF)
>  check-qtest-s390x-$(CONFIG_POSIX) += tests/test-filter-redirector$(EXESUF)
>  check-qtest-s390x-y += tests/drive_del-test$(EXESUF)
> +check-qtest-s390x-y += tests/cpu-plug-test$(EXESUF)
>  
>  check-qtest-generic-y += tests/qom-test$(EXESUF)
>  check-qtest-generic-y += tests/test-hmp$(EXESUF)
> diff --git a/tests/cpu-plug-test.c b/tests/cpu-plug-test.c
> index 714a69c..58edaf6 100644
> --- a/tests/cpu-plug-test.c
> +++ b/tests/cpu-plug-test.c
> @@ -207,6 +207,42 @@ static void add_pseries_test_case(const char *mname)
>      g_free(path);
>  }
>  
> +static void add_s390x_test_case(const char *mname)
> +{
> +    char *path;
> +    PlugTestData *data, *data2;
> +
> +    if (!g_str_has_prefix(mname, "s390-ccw-virtio-")) {
> +        return;
> +    }
> +
> +    data = g_new(PlugTestData, 1);
> +    data->machine = g_strdup(mname);
> +    data->cpu_model = "qemu";
> +    data->device_model = "qemu-s390-cpu";
> +    data->sockets = 1;
> +    data->cores = 3;
> +    data->threads = 1;
> +    data->maxcpus = data->sockets * data->cores * data->threads * 2;
> +
> +    data2 = g_memdup(data, sizeof(PlugTestData));
> +    data2->machine = g_strdup(mname);
> +
> +    path = g_strdup_printf("cpu-plug/%s/cpu-add/%ux%ux%u&maxcpus=%u",
> +                           mname, data->sockets, data->cores,
> +                           data->threads, data->maxcpus);
> +    qtest_add_data_func_full(path, data, test_plug_with_cpu_add,
> +                             test_data_free);
> +    g_free(path);
> +
> +    path = g_strdup_printf("cpu-plug/%s/device-add/%ux%ux%u&maxcpus=%u",
> +                           mname, data2->sockets, data2->cores,
> +                           data2->threads, data2->maxcpus);
> +    qtest_add_data_func_full(path, data2, test_plug_with_device_add_coreid,
> +                             test_data_free);
> +    g_free(path);
> +}
> +
>  int main(int argc, char **argv)
>  {
>      const char *arch = qtest_get_arch();
> @@ -217,6 +253,8 @@ int main(int argc, char **argv)
>          qtest_cb_for_every_machine(add_pc_test_case);
>      } else if (g_str_equal(arch, "ppc64")) {
>          qtest_cb_for_every_machine(add_pseries_test_case);
> +    } else if (g_str_equal(arch, "s390x")) {
> +        qtest_cb_for_every_machine(add_s390x_test_case);
>      }
>  
>      return g_test_run();
> 

Looks sane to me, haven't tested it, though.

Reviewed-by: David Hildenbrand <address@hidden>

-- 

Thanks,

David



reply via email to

[Prev in Thread] Current Thread [Next in Thread]