qemu-arm
[Top][All Lists]
Advanced

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

Re: [Qemu-arm] [Qemu-devel] [PULL 00/45] Machine queue, 2018-10-18


From: Eduardo Habkost
Subject: Re: [Qemu-arm] [Qemu-devel] [PULL 00/45] Machine queue, 2018-10-18
Date: Fri, 19 Oct 2018 17:23:21 -0300
User-agent: Mutt/1.9.2 (2017-12-15)

On Fri, Oct 19, 2018 at 09:53:45PM +0200, Igor Mammedov wrote:
> On Fri, 19 Oct 2018 15:44:08 -0300
> Eduardo Habkost <address@hidden> wrote:
> 
> > On Fri, Oct 19, 2018 at 03:12:31PM +0100, Peter Maydell wrote:
> > > On 18 October 2018 at 21:03, Eduardo Habkost <address@hidden> wrote:
> > > > The following changes since commit 
> > > > 09558375a634e17cea6cfbfec883ac2376d2dc7f:
> > > >
> > > >   Merge remote-tracking branch 
> > > > 'remotes/pmaydell/tags/pull-target-arm-20181016-1' into staging 
> > > > (2018-10-16 17:42:56 +0100)
> > > >
> > > > are available in the Git repository at:
> > > >
> > > >   git://github.com/ehabkost/qemu.git tags/machine-next-pull-request
> > > >
> > > > for you to fetch changes up to 6d8e1bcc7dd5e819ce81e6a87fffe23e39c700cc:
> > > >
> > > >   numa: Clean up error reporting in parse_numa() (2018-10-17 16:33:40 
> > > > -0300)
> > > >
> > > > ----------------------------------------------------------------
> > > > Machine queue, 2018-10-18
> > > >
> > > > * sysbus init/realize cleanups
> > > >   (Cédric Le Goater, Philippe Mathieu-Daudé)
> > > > * memory-device refactoring (David Hildenbrand)
> > > > * -smp: deprecate incorrect CPUs topology (Igor Mammedov)
> > > > * -numa parsing cleanups (Markus Armbruster)
> > > > * Fix hostmem-file memory leak (Zhang Yi)
> > > > * Typo fix (Li Qiang)
> > > >
> > > > ----------------------------------------------------------------
> > > >
> > > 
> > > Hi. This had some problems in merge testing, I'm afraid:
> > > 
> > > On aarch64 host, warnings running tests/cpu-plug-test for i386 and s390 
> > > targets:
> > > 
> > > TEST: tests/cpu-plug-test... (pid=12602)
> > >   /i386/cpu-plug/pc-i440fx-3.0/cpu-add/1x3x2&maxcpus=12:
> > > qemu-system-i386: warning: Invalid CPU topology deprecated: sockets
> > > (1) * cores (3) * threads (2) != maxcpus (12)
> > [...]
> > > 
> > > (plus similar ppc64, x86_64 targets)
> > 
> > Ouch.  Apologies.
> > 
> > Can we please do something make sure "make check" will fail on
> > these cases?  I'd like to be able to trust CI systems like
> > travis-ci.
> > 
> 
> we probably don't want make check fail on warning.

I disagree.  If a warning is blocking a pull request from being
merged, it must make CI systems fail too.  Otherwise we're
defeating the purpose of CI systems.


> Test was written with assumption that s/c/t tuples matches initially present 
> CPUs, hence a warning.
> Would something like following fix the issue (local x86 build/test looks 
> fixed with it)?

It works for me.  I will queue it on machine-next, thanks!

> 
> diff --git a/tests/cpu-plug-test.c b/tests/cpu-plug-test.c
> index 3e93c8e..f4a677d 100644
> --- a/tests/cpu-plug-test.c
> +++ b/tests/cpu-plug-test.c
> @@ -32,12 +32,12 @@ static void test_plug_with_cpu_add(gconstpointer data)
>      unsigned int i;
>  
>      args = g_strdup_printf("-machine %s -cpu %s "
> -                           "-smp sockets=%u,cores=%u,threads=%u,maxcpus=%u",
> +                           "-smp 
> 1,sockets=%u,cores=%u,threads=%u,maxcpus=%u",
>                             s->machine, s->cpu_model,
>                             s->sockets, s->cores, s->threads, s->maxcpus);
>      qtest_start(args);
>  
> -    for (i = s->sockets * s->cores * s->threads; i < s->maxcpus; i++) {
> +    for (i = 1; i < s->maxcpus; i++) {
>          response = qmp("{ 'execute': 'cpu-add',"
>                         "  'arguments': { 'id': %d } }", i);
>          g_assert(response);
> @@ -56,7 +56,7 @@ static void test_plug_without_cpu_add(gconstpointer data)
>      QDict *response;
>  
>      args = g_strdup_printf("-machine %s -cpu %s "
> -                           "-smp sockets=%u,cores=%u,threads=%u,maxcpus=%u",
> +                           "-smp 
> 1,sockets=%u,cores=%u,threads=%u,maxcpus=%u",
>                             s->machine, s->cpu_model,
>                             s->sockets, s->cores, s->threads, s->maxcpus);
>      qtest_start(args);
> @@ -79,12 +79,12 @@ static void test_plug_with_device_add_x86(gconstpointer 
> data)
>      unsigned int s, c, t;
>  
>      args = g_strdup_printf("-machine %s -cpu %s "
> -                           "-smp sockets=%u,cores=%u,threads=%u,maxcpus=%u",
> +                           "-smp 
> 1,sockets=%u,cores=%u,threads=%u,maxcpus=%u",
>                             td->machine, td->cpu_model,
>                             td->sockets, td->cores, td->threads, td->maxcpus);
>      qtest_start(args);
>  
> -    for (s = td->sockets; s < td->maxcpus / td->cores / td->threads; s++) {
> +    for (s = 1; s < td->sockets; s++) {
>          for (c = 0; c < td->cores; c++) {
>              for (t = 0; t < td->threads; t++) {
>                  char *id = g_strdup_printf("id-%i-%i-%i", s, c, t);
> @@ -113,7 +113,7 @@ static void 
> test_plug_with_device_add_coreid(gconstpointer data)
>                             td->sockets, td->cores, td->threads, td->maxcpus);
>      qtest_start(args);
>  
> -    for (c = td->cores; c < td->maxcpus / td->sockets / td->threads; c++) {
> +    for (c = 1; c < td->cores; c++) {
>          char *id = g_strdup_printf("id-%i", c);
>          qtest_qmp_device_add(td->device_model, id, "{'core-id':%u}", c);
>          g_free(id);
> @@ -148,7 +148,7 @@ static void add_pc_test_case(const char *mname)
>      data->sockets = 1;
>      data->cores = 3;
>      data->threads = 2;
> -    data->maxcpus = data->sockets * data->cores * data->threads * 2;
> +    data->maxcpus = data->sockets * data->cores * data->threads;
>      if (g_str_has_suffix(mname, "-1.4") ||
>          (strcmp(mname, "pc-1.3") == 0) ||
>          (strcmp(mname, "pc-1.2") == 0) ||
> @@ -203,7 +203,7 @@ static void add_pseries_test_case(const char *mname)
>      data->sockets = 2;
>      data->cores = 3;
>      data->threads = 1;
> -    data->maxcpus = data->sockets * data->cores * data->threads * 2;
> +    data->maxcpus = data->sockets * data->cores * data->threads;
>  
>      path = g_strdup_printf("cpu-plug/%s/device-add/%ux%ux%u&maxcpus=%u",
>                             mname, data->sockets, data->cores,
> @@ -229,7 +229,7 @@ static void add_s390x_test_case(const char *mname)
>      data->sockets = 1;
>      data->cores = 3;
>      data->threads = 1;
> -    data->maxcpus = data->sockets * data->cores * data->threads * 2;
> +    data->maxcpus = data->sockets * data->cores * data->threads;
>  
>      data2 = g_memdup(data, sizeof(PlugTestData));
>      data2->machine = g_strdup(data->machine);
> 
> 

-- 
Eduardo



reply via email to

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