On 19/10/2018 16:12, Peter Maydell wrote:
On 18 October 2018 at 21:03, Eduardo Habkost
<ehabkost(a)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(a)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