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

Eduardo Habkost posted 45 patches 5 years, 6 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20181018200422.4358-1-ehabkost@redhat.com
Test docker-clang@ubuntu passed
Test checkpatch passed
Test asan passed
Test docker-mingw@fedora failed
Test docker-quick@centos7 passed
default-configs/i386-softmmu.mak    |   3 +-
default-configs/ppc64-softmmu.mak   |   3 +-
default-configs/sparc64-softmmu.mak |   1 -
qapi/misc.json                      |   2 +-
include/hw/mem/memory-device.h      |  74 +++++++++++++++++---
include/hw/mem/pc-dimm.h            |  10 +--
include/sysemu/numa.h               |   1 -
backends/hostmem-file.c             |  10 ++-
hw/alpha/typhoon.c                  |  13 ----
hw/core/machine.c                   |   2 +-
hw/hppa/dino.c                      |   7 --
hw/i386/pc.c                        |   6 +-
hw/mem/memory-device.c              | 103 ++++++++++++++++++++++------
hw/mem/nvdimm.c                     |   9 ++-
hw/mem/pc-dimm.c                    |  84 ++++++++---------------
hw/mips/gt64xxx_pci.c               |  18 ++---
hw/mips/mips_malta.c                |  13 ----
hw/net/etraxfs_eth.c                |  44 ++++++++----
hw/net/lan9118.c                    |   9 +--
hw/net/lance.c                      |   8 +--
hw/net/milkymist-minimac2.c         |   9 +--
hw/net/mipsnet.c                    |   9 +--
hw/net/opencores_eth.c              |   8 +--
hw/net/smc91c111.c                  |   8 +--
hw/net/stellaris_enet.c             |  15 ++--
hw/net/xgmac.c                      |   9 +--
hw/pci-host/bonito.c                |   9 +--
hw/ppc/spapr.c                      |  29 +++-----
hw/sh4/sh_pci.c                     |  20 +++---
hw/sparc64/niagara.c                |   4 +-
hw/ssi/xilinx_spi.c                 |   9 +--
hw/timer/sun4v-rtc.c                |  23 +++----
numa.c                              |  21 +++---
vl.c                                |  12 +++-
hw/Makefile.objs                    |   2 +-
hw/mem/Makefile.objs                |   4 +-
hw/mem/trace-events                 |   5 +-
hw/timer/trace-events               |   6 +-
qemu-deprecated.texi                |  12 ++++
39 files changed, 347 insertions(+), 287 deletions(-)
[Qemu-devel] [PULL 00/45] Machine queue, 2018-10-18
Posted by Eduardo Habkost 5 years, 6 months ago
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)

----------------------------------------------------------------

Queue for Machine Core patches


Cédric Le Goater (11):
  net: etraxfs_eth: convert SysBus init method to a realize method
  net: etraxfs_eth: add a reset method
  net: lan9118: convert SysBus init method to a realize method
  net: lance: convert SysBus init method to a realize method
  net: milkymist_minimac2: convert SysBus init method to a realize
    method
  net: mipsnet: convert SysBus init method to a realize method
  net: opencores_eth: convert SysBus init method to a realize method
  net: smc91c111: convert SysBus init method to a realize method
  net: stellaris_enet: convert SysBus init method to a realize method
  net: stellaris_enet: add a reset method
  net: xgmac: convert SysBus init method to a realize method

David Hildenbrand (16):
  memory-device: fix alignment error message
  memory-device: fix error message when hinted address is too small
  memory-device: improve "range conflicts" error message
  pc-dimm: pass PCDIMMDevice to pc_dimm_.*plug
  memory-device: use memory device terminology in error messages
  memory-device: introduce separate config option
  memory-device: forward errors in get_region_size()/get_plugged_size()
  memory-device: document MemoryDeviceClass
  memory-device: add and use memory_device_get_region_size()
  memory-device: factor out get_memory_region() from pc-dimm
  memory-device: drop get_region_size()
  memory-device: add device class function set_addr()
  memory-device: complete factoring out pre_plug handling
  memory-device: complete factoring out plug handling
  memory-device: complete factoring out unplug handling
  memory-device: trace when pre_plugging/plugging/unplugging

Igor Mammedov (2):
  vl.c deprecate incorrect CPUs topology
  vl:c: make sure that sockets are calculated correctly in '-smp X' case

Li Qiang (1):
  machine: fix a typo

Markus Armbruster (2):
  numa: Fix QMP command set-numa-node error handling
  numa: Clean up error reporting in parse_numa()

Philippe Mathieu-Daudé (12):
  trace-events: Fix copy/paste typo
  hw/timer/sun4v-rtc: Convert from DPRINTF() macro to trace events
  hw/timer/sun4v-rtc: Use DeviceState::realize rather than
    SysBusDevice::init
  hw/ssi/xilinx_spi: Use DeviceState::realize rather than
    SysBusDevice::init
  hw/sh4/sh_pci: Use DeviceState::realize rather than SysBusDevice::init
  hw/pci-host/bonito: Use DeviceState::realize rather than
    SysBusDevice::init
  hw/mips/gt64xxx_pci: Convert gt64120_reset() function into Device
    reset method
  hw/mips/gt64xxx_pci: Mark as bridge device
  hw/sparc64/niagara: Model the I/O Bridge with the
    'unimplemented_device'
  hw/alpha/typhoon: Remove unuseful code
  hw/hppa/dino: Remove unuseful code
  hw/mips/malta: Remove unuseful code

Zhang Yi (1):
  hostmem-file: fixed the memory leak while get pmem path.

 default-configs/i386-softmmu.mak    |   3 +-
 default-configs/ppc64-softmmu.mak   |   3 +-
 default-configs/sparc64-softmmu.mak |   1 -
 qapi/misc.json                      |   2 +-
 include/hw/mem/memory-device.h      |  74 +++++++++++++++++---
 include/hw/mem/pc-dimm.h            |  10 +--
 include/sysemu/numa.h               |   1 -
 backends/hostmem-file.c             |  10 ++-
 hw/alpha/typhoon.c                  |  13 ----
 hw/core/machine.c                   |   2 +-
 hw/hppa/dino.c                      |   7 --
 hw/i386/pc.c                        |   6 +-
 hw/mem/memory-device.c              | 103 ++++++++++++++++++++++------
 hw/mem/nvdimm.c                     |   9 ++-
 hw/mem/pc-dimm.c                    |  84 ++++++++---------------
 hw/mips/gt64xxx_pci.c               |  18 ++---
 hw/mips/mips_malta.c                |  13 ----
 hw/net/etraxfs_eth.c                |  44 ++++++++----
 hw/net/lan9118.c                    |   9 +--
 hw/net/lance.c                      |   8 +--
 hw/net/milkymist-minimac2.c         |   9 +--
 hw/net/mipsnet.c                    |   9 +--
 hw/net/opencores_eth.c              |   8 +--
 hw/net/smc91c111.c                  |   8 +--
 hw/net/stellaris_enet.c             |  15 ++--
 hw/net/xgmac.c                      |   9 +--
 hw/pci-host/bonito.c                |   9 +--
 hw/ppc/spapr.c                      |  29 +++-----
 hw/sh4/sh_pci.c                     |  20 +++---
 hw/sparc64/niagara.c                |   4 +-
 hw/ssi/xilinx_spi.c                 |   9 +--
 hw/timer/sun4v-rtc.c                |  23 +++----
 numa.c                              |  21 +++---
 vl.c                                |  12 +++-
 hw/Makefile.objs                    |   2 +-
 hw/mem/Makefile.objs                |   4 +-
 hw/mem/trace-events                 |   5 +-
 hw/timer/trace-events               |   6 +-
 qemu-deprecated.texi                |  12 ++++
 39 files changed, 347 insertions(+), 287 deletions(-)

-- 
2.18.0.rc1.1.g3f1ff2140


Re: [Qemu-devel] [PULL 00/45] Machine queue, 2018-10-18
Posted by Peter Maydell 5 years, 6 months ago
On 18 October 2018 at 21:03, Eduardo Habkost <ehabkost@redhat.com> 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)
OK
  /i386/cpu-plug/pc-i440fx-3.0/device-add/1x3x2&maxcpus=12:
qemu-system-i386: warning: Invalid CPU topology deprecated: sockets
(1) * cores (3) * threads (2) != maxcpus (12)
OK
  /i386/cpu-plug/pc-q35-3.0/cpu-add/1x3x2&maxcpus=12:
qemu-system-i386: warning: Invalid CPU topology deprecated: sockets
(1) * cores (3) * threads (2) != maxcpus (12)
OK
  /i386/cpu-plug/pc-q35-3.0/device-add/1x3x2&maxcpus=12:
qemu-system-i386: warning: Invalid CPU topology deprecated: sockets
(1) * cores (3) * threads (2) != maxcpus (12)
OK
  /arm/qom/n800:                                                       OK
PASS: tests/cpu-plug-test
[...]
TEST: tests/cpu-plug-test... (pid=15040)
  /s390x/cpu-plug/s390-ccw-virtio-3.1/cpu-add/1x3x1&maxcpus=6:
qemu-system-s390x: warning: Invalid CPU topology deprecated: sockets
(1) * cores (3) * threads (1) != maxcpus (6)
OK
  /s390x/cpu-plug/s390-ccw-virtio-3.1/device-add/1x3x1&maxcpus=6:
qemu-system-s390x: warning: Invalid CPU topology deprecated: sockets
(1) * cores (3) * threads (1) != maxcpus (6)
OK
  /s390x/cpu-plug/s390-ccw-virtio-3.0/cpu-add/1x3x1&maxcpus=6:
qemu-system-s390x: warning: Invalid CPU topology deprecated: sockets
(1) * cores (3) * threads (1) != maxcpus (6)
OK
  /s390x/cpu-plug/s390-ccw-virtio-3.0/device-add/1x3x1&maxcpus=6:
qemu-system-s390x: warning: Invalid CPU topology deprecated: sockets
(1) * cores (3) * threads (1) != maxcpus (6)
OK
PASS: tests/cpu-plug-test

(plus similar ppc64, x86_64 targets)

I see similar warnings on hosts SPARC, PPC64BE, S390, 32-bit Arm
and x86 FreeBSD.

I also got a build failure on one of my configs, but I think that
is caused by some latent bug in our makefiles where we don't
correctly rebuild x86_64-softmmu/config-devices.mak when a
change is made to default-configs/i386-softmmu.mak -- doing a
hand rm of the config-devices.mak fixed it.


thanks
-- PMM

Re: [Qemu-devel] [PULL 00/45] Machine queue, 2018-10-18
Posted by Philippe Mathieu-Daudé 5 years, 6 months ago
On 19/10/2018 16:12, Peter Maydell wrote:
> On 18 October 2018 at 21:03, Eduardo Habkost <ehabkost@redhat.com> 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)
> OK
>   /i386/cpu-plug/pc-i440fx-3.0/device-add/1x3x2&maxcpus=12:
> qemu-system-i386: warning: Invalid CPU topology deprecated: sockets
> (1) * cores (3) * threads (2) != maxcpus (12)
> OK
>   /i386/cpu-plug/pc-q35-3.0/cpu-add/1x3x2&maxcpus=12:
> qemu-system-i386: warning: Invalid CPU topology deprecated: sockets
> (1) * cores (3) * threads (2) != maxcpus (12)
> OK
>   /i386/cpu-plug/pc-q35-3.0/device-add/1x3x2&maxcpus=12:
> qemu-system-i386: warning: Invalid CPU topology deprecated: sockets
> (1) * cores (3) * threads (2) != maxcpus (12)
> OK
>   /arm/qom/n800:                                                       OK
> PASS: tests/cpu-plug-test
> [...]
> TEST: tests/cpu-plug-test... (pid=15040)
>   /s390x/cpu-plug/s390-ccw-virtio-3.1/cpu-add/1x3x1&maxcpus=6:
> qemu-system-s390x: warning: Invalid CPU topology deprecated: sockets
> (1) * cores (3) * threads (1) != maxcpus (6)
> OK
>   /s390x/cpu-plug/s390-ccw-virtio-3.1/device-add/1x3x1&maxcpus=6:
> qemu-system-s390x: warning: Invalid CPU topology deprecated: sockets
> (1) * cores (3) * threads (1) != maxcpus (6)
> OK
>   /s390x/cpu-plug/s390-ccw-virtio-3.0/cpu-add/1x3x1&maxcpus=6:
> qemu-system-s390x: warning: Invalid CPU topology deprecated: sockets
> (1) * cores (3) * threads (1) != maxcpus (6)
> OK
>   /s390x/cpu-plug/s390-ccw-virtio-3.0/device-add/1x3x1&maxcpus=6:
> qemu-system-s390x: warning: Invalid CPU topology deprecated: sockets
> (1) * cores (3) * threads (1) != maxcpus (6)
> OK
> PASS: tests/cpu-plug-test
> 
> (plus similar ppc64, x86_64 targets)
> 
> I see similar warnings on hosts SPARC, PPC64BE, S390, 32-bit Arm
> and x86 FreeBSD.
> 
> I also got a build failure on one of my configs, but I think that
> is caused by some latent bug in our makefiles where we don't
> correctly rebuild x86_64-softmmu/config-devices.mak when a
> change is made to default-configs/i386-softmmu.mak -- doing a
> hand rm of the config-devices.mak fixed it.

bisected to:

23d0571a24559b867fa47410aa8ec0519b0a1edd is the first bad commit
commit 23d0571a24559b867fa47410aa8ec0519b0a1edd
Author: Igor Mammedov <imammedo@redhat.com>
Date:   Thu Sep 13 13:06:01 2018 +0200

    vl.c deprecate incorrect CPUs topology

    -smp [cpus],sockets/cores/threads[,maxcpus] should describe topology
    so that total number of logical CPUs [sockets * cores * threads]
    would be equal to [maxcpus], however historically we didn't have
    such check in QEMU and it is possible to start VM with an invalid
    topology.
    Deprecate invalid options combination so we can make sure that
    the topology VM started with is always correct in the future.
    Users with an invalid sockets/cores/threads/maxcpus values should
    fix their CLI to make sure that
       [sockets * cores * threads] == [maxcpus]

> 
> 
> thanks
> -- PMM
> 

Re: [Qemu-devel] [PULL 00/45] Machine queue, 2018-10-18
Posted by Philippe Mathieu-Daudé 5 years, 6 months ago
On Fri, Oct 19, 2018 at 7:00 PM Philippe Mathieu-Daudé
<philmd@redhat.com> wrote:
> On 19/10/2018 16:12, Peter Maydell wrote:
...
> >> ----------------------------------------------------------------
> >>
> >
> > 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)
> > OK
> >   /i386/cpu-plug/pc-i440fx-3.0/device-add/1x3x2&maxcpus=12:
> > qemu-system-i386: warning: Invalid CPU topology deprecated: sockets
> > (1) * cores (3) * threads (2) != maxcpus (12)
> > OK
> >   /i386/cpu-plug/pc-q35-3.0/cpu-add/1x3x2&maxcpus=12:
> > qemu-system-i386: warning: Invalid CPU topology deprecated: sockets
> > (1) * cores (3) * threads (2) != maxcpus (12)
> > OK
> >   /i386/cpu-plug/pc-q35-3.0/device-add/1x3x2&maxcpus=12:
> > qemu-system-i386: warning: Invalid CPU topology deprecated: sockets
> > (1) * cores (3) * threads (2) != maxcpus (12)
> > OK
> >   /arm/qom/n800:                                                       OK
> > PASS: tests/cpu-plug-test
> > [...]
> > TEST: tests/cpu-plug-test... (pid=15040)
> >   /s390x/cpu-plug/s390-ccw-virtio-3.1/cpu-add/1x3x1&maxcpus=6:
> > qemu-system-s390x: warning: Invalid CPU topology deprecated: sockets
> > (1) * cores (3) * threads (1) != maxcpus (6)
> > OK
> >   /s390x/cpu-plug/s390-ccw-virtio-3.1/device-add/1x3x1&maxcpus=6:
> > qemu-system-s390x: warning: Invalid CPU topology deprecated: sockets
> > (1) * cores (3) * threads (1) != maxcpus (6)
> > OK
> >   /s390x/cpu-plug/s390-ccw-virtio-3.0/cpu-add/1x3x1&maxcpus=6:
> > qemu-system-s390x: warning: Invalid CPU topology deprecated: sockets
> > (1) * cores (3) * threads (1) != maxcpus (6)
> > OK
> >   /s390x/cpu-plug/s390-ccw-virtio-3.0/device-add/1x3x1&maxcpus=6:
> > qemu-system-s390x: warning: Invalid CPU topology deprecated: sockets
> > (1) * cores (3) * threads (1) != maxcpus (6)
> > OK
> > PASS: tests/cpu-plug-test
> >
> > (plus similar ppc64, x86_64 targets)
> >
> > I see similar warnings on hosts SPARC, PPC64BE, S390, 32-bit Arm
> > and x86 FreeBSD.
> >
> > I also got a build failure on one of my configs, but I think that
> > is caused by some latent bug in our makefiles where we don't
> > correctly rebuild x86_64-softmmu/config-devices.mak when a
> > change is made to default-configs/i386-softmmu.mak -- doing a
> > hand rm of the config-devices.mak fixed it.
>
> bisected to:
>
> 23d0571a24559b867fa47410aa8ec0519b0a1edd is the first bad commit
> commit 23d0571a24559b867fa47410aa8ec0519b0a1edd
> Author: Igor Mammedov <imammedo@redhat.com>
> Date:   Thu Sep 13 13:06:01 2018 +0200
>
>     vl.c deprecate incorrect CPUs topology
>
>     -smp [cpus],sockets/cores/threads[,maxcpus] should describe topology
>     so that total number of logical CPUs [sockets * cores * threads]
>     would be equal to [maxcpus], however historically we didn't have
>     such check in QEMU and it is possible to start VM with an invalid
>     topology.
>     Deprecate invalid options combination so we can make sure that
>     the topology VM started with is always correct in the future.
>     Users with an invalid sockets/cores/threads/maxcpus values should
>     fix their CLI to make sure that
>        [sockets * cores * threads] == [maxcpus]

Per the commit message, I understand the tests need to be upgraded,
they only test it is <= maxcpus while now we want == maxcpus:

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;

Re: [Qemu-devel] [PULL 00/45] Machine queue, 2018-10-18
Posted by Eduardo Habkost 5 years, 6 months ago
On Fri, Oct 19, 2018 at 03:12:31PM +0100, Peter Maydell wrote:
> On 18 October 2018 at 21:03, Eduardo Habkost <ehabkost@redhat.com> 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.

-- 
Eduardo

Re: [Qemu-devel] [PULL 00/45] Machine queue, 2018-10-18
Posted by Igor Mammedov 5 years, 6 months ago
On Fri, 19 Oct 2018 15:44:08 -0300
Eduardo Habkost <ehabkost@redhat.com> wrote:

> On Fri, Oct 19, 2018 at 03:12:31PM +0100, Peter Maydell wrote:
> > On 18 October 2018 at 21:03, Eduardo Habkost <ehabkost@redhat.com> 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.
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)?

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);



Re: [Qemu-devel] [PULL 00/45] Machine queue, 2018-10-18
Posted by Eduardo Habkost 5 years, 6 months ago
On Fri, Oct 19, 2018 at 09:53:45PM +0200, Igor Mammedov wrote:
> On Fri, 19 Oct 2018 15:44:08 -0300
> Eduardo Habkost <ehabkost@redhat.com> wrote:
> 
> > On Fri, Oct 19, 2018 at 03:12:31PM +0100, Peter Maydell wrote:
> > > On 18 October 2018 at 21:03, Eduardo Habkost <ehabkost@redhat.com> 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

Re: [Qemu-devel] [PULL 00/45] Machine queue, 2018-10-18
Posted by Philippe Mathieu-Daudé 5 years, 6 months ago
On 19/10/2018 22:23, Eduardo Habkost wrote:
> On Fri, Oct 19, 2018 at 09:53:45PM +0200, Igor Mammedov wrote:
>> On Fri, 19 Oct 2018 15:44:08 -0300
>> Eduardo Habkost <ehabkost@redhat.com> wrote:
>>
>>> On Fri, Oct 19, 2018 at 03:12:31PM +0100, Peter Maydell wrote:
>>>> On 18 October 2018 at 21:03, Eduardo Habkost <ehabkost@redhat.com> 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.

We can, we also have the hardware (courtesy of Packet), we just need to
make time to set it up.

QEMU Summit is a good place where to talk about this.

> 
> 
>> 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);
>>
>>
> 

This patch with Igor Signed-off-by:
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>

Re: [Qemu-devel] [PULL 00/45] Machine queue, 2018-10-18
Posted by Igor Mammedov 5 years, 6 months ago
On Fri, 19 Oct 2018 17:23:21 -0300
Eduardo Habkost <ehabkost@redhat.com> wrote:

> On Fri, Oct 19, 2018 at 09:53:45PM +0200, Igor Mammedov wrote:
> > On Fri, 19 Oct 2018 15:44:08 -0300
> > Eduardo Habkost <ehabkost@redhat.com> wrote:
> > 
> > > On Fri, Oct 19, 2018 at 03:12:31PM +0100, Peter Maydell wrote:
> > > > On 18 October 2018 at 21:03, Eduardo Habkost <ehabkost@redhat.com> 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.

When we deprecate options we are bound to trigger warning which are not errors
and are meant to be there until deprecated options are removed/tested by make check.
So what would you suggest to do wrt tests that use deprecated features,
drop testing for it?

[...]


Re: [libvirt] [Qemu-devel] [PULL 00/45] Machine queue, 2018-10-18
Posted by Markus Armbruster 5 years, 6 months ago
Igor Mammedov <imammedo@redhat.com> writes:

> On Fri, 19 Oct 2018 17:23:21 -0300
> Eduardo Habkost <ehabkost@redhat.com> wrote:
>
>> On Fri, Oct 19, 2018 at 09:53:45PM +0200, Igor Mammedov wrote:
>> > On Fri, 19 Oct 2018 15:44:08 -0300
>> > Eduardo Habkost <ehabkost@redhat.com> wrote:
>> > 
>> > > On Fri, Oct 19, 2018 at 03:12:31PM +0100, Peter Maydell wrote:
>> > > > On 18 October 2018 at 21:03, Eduardo Habkost <ehabkost@redhat.com> 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.
>
> When we deprecate options we are bound to trigger warning which are not errors
> and are meant to be there until deprecated options are removed/tested by make check.
> So what would you suggest to do wrt tests that use deprecated features,
> drop testing for it?

We commonly suppress the warning when testing.  Search for
'if (qtest_enabled())'.

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list