qemu-e2k/hw/s390x
Yanan Wang 4a0af2930a machine: Prefer cores over sockets in smp parsing since 6.2
In the real SMP hardware topology world, it's much more likely that
we have high cores-per-socket counts and few sockets totally. While
the current preference of sockets over cores in smp parsing results
in a virtual cpu topology with low cores-per-sockets counts and a
large number of sockets, which is just contrary to the real world.

Given that it is better to make the virtual cpu topology be more
reflective of the real world and also for the sake of compatibility,
we start to prefer cores over sockets over threads in smp parsing
since machine type 6.2 for different arches.

In this patch, a boolean "smp_prefer_sockets" is added, and we only
enable the old preference on older machines and enable the new one
since type 6.2 for all arches by using the machine compat mechanism.

Suggested-by: Daniel P. Berrange <berrange@redhat.com>
Signed-off-by: Yanan Wang <wangyanan55@huawei.com>
Acked-by: David Gibson <david@gibson.dropbear.id.au>
Acked-by: Cornelia Huck <cohuck@redhat.com>
Reviewed-by: Andrew Jones <drjones@redhat.com>
Reviewed-by: Pankaj Gupta <pankaj.gupta@ionos.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20210929025816.21076-10-wangyanan55@huawei.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2021-10-01 15:28:16 +02:00
..
3270-ccw.c s390x/css: Refactor IRB construction 2021-06-21 08:48:21 +02:00
Kconfig kconfig: add CONFIG_MSI_NONBROKEN 2019-03-18 09:39:57 +01:00
ap-bridge.c qbus: Rename qbus_create() to qbus_new() 2021-09-30 13:44:08 +01:00
ap-device.c ap-device: Rename AP_DEVICE_TYPE to TYPE_AP_DEVICE 2020-09-09 13:20:22 -04:00
ccw-device.c hw/s390x/ccw: Register qbus type in abstract TYPE_CCW_DEVICE parent 2021-05-20 14:19:30 +02:00
ccw-device.h hw/s390x/ccw: Register qbus type in abstract TYPE_CCW_DEVICE parent 2021-05-20 14:19:30 +02:00
css-bridge.c qbus: Rename qbus_create() to qbus_new() 2021-09-30 13:44:08 +01:00
css.c vfio-ccw: forward halt/clear errors 2021-09-06 16:22:54 +02:00
event-facility.c qbus: Rename qbus_create_inplace() to qbus_init() 2021-09-30 13:42:10 +01:00
ipl.c error: Use error_fatal to simplify obvious fatal errors (again) 2021-08-26 17:15:28 +02:00
ipl.h s390x: Avoid variable size warning in ipl.h 2020-11-10 08:51:30 +01:00
meson.build hw/s390x: only build tod-tcg from the CONFIG_TCG build 2021-07-07 14:01:54 +02:00
pv.c Do not include cpu.h if it's not really necessary 2021-05-02 17:24:51 +02:00
s390-ccw.c s390x/css: Add passthrough IRB 2021-06-21 08:48:21 +02:00
s390-pci-bus.c qbus: Rename qbus_create() to qbus_new() 2021-09-30 13:44:08 +01:00
s390-pci-inst.c s390x: Replace PAGE_SIZE, PAGE_SHIFT and PAGE_MASK 2021-09-06 16:25:27 +02:00
s390-pci-vfio.c s390x/pci: Add missing initialization for g_autofree variables 2021-03-15 15:47:18 +01:00
s390-skeys-kvm.c hw/s390x/s390-skeys: rename skeys_enabled to skeys_are_enabled 2021-09-06 16:24:05 +02:00
s390-skeys.c hw/s390x/s390-skeys: lazy storage key enablement under TCG 2021-09-06 16:24:05 +02:00
s390-stattrib-kvm.c target/s390x: move kvm files into kvm/ 2021-07-07 14:01:59 +02:00
s390-stattrib.c Do not include cpu.h if it's not really necessary 2021-05-02 17:24:51 +02:00
s390-virtio-ccw.c machine: Prefer cores over sockets in smp parsing since 6.2 2021-10-01 15:28:16 +02:00
s390-virtio-hcall.c s390x: rename s390-virtio.h to s390-virtio-hcall.h 2017-09-19 18:31:31 +02:00
s390-virtio-hcall.h s390/kvm_virtio/linux-headers: remove traces of old virtio transport 2017-11-24 10:52:05 +01:00
sclp.c s390x: Replace PAGE_SIZE, PAGE_SHIFT and PAGE_MASK 2021-09-06 16:25:27 +02:00
sclpcpu.c Do not include cpu.h if it's not really necessary 2021-05-02 17:24:51 +02:00
sclpquiesce.c sysemu: Split sysemu/runstate.h off sysemu/sysemu.h 2019-08-16 13:37:36 +02:00
tod-kvm.c target/s390x: move kvm files into kvm/ 2021-07-07 14:01:59 +02:00
tod-tcg.c target/s390x: start moving TCG-only code to tcg/ 2021-07-07 14:01:56 +02:00
tod.c hw/s390x: tod: make explicit checks for accelerators when initializing 2021-07-07 14:01:54 +02:00
trace-events docs: fix references to docs/devel/tracing.rst 2021-06-02 06:51:09 +02:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
vhost-user-fs-ccw.c virtio: add vhost-user-fs-ccw device 2020-09-23 13:41:58 +01:00
vhost-vsock-ccw.c vhost-vsock-ccw: force virtio version 1 2020-09-29 02:15:24 -04:00
virtio-ccw-9p.c qdev: Convert uses of qdev_set_parent_bus() with Coccinelle 2020-06-15 22:05:08 +02:00
virtio-ccw-balloon.c qdev: Convert uses of qdev_set_parent_bus() with Coccinelle 2020-06-15 22:05:08 +02:00
virtio-ccw-blk.c qdev: Convert uses of qdev_set_parent_bus() with Coccinelle 2020-06-15 22:05:08 +02:00
virtio-ccw-crypto.c virtio: Drop broken and superfluous object_property_set_link() 2020-07-22 07:57:07 -04:00
virtio-ccw-gpu.c modules: add s390x module annotations 2021-07-09 18:20:27 +02:00
virtio-ccw-input.c virtio-ccw-input: fix description 2020-08-27 12:37:03 +02:00
virtio-ccw-net.c qdev: Convert uses of qdev_set_parent_bus() with Coccinelle 2020-06-15 22:05:08 +02:00
virtio-ccw-rng.c virtio: Drop broken and superfluous object_property_set_link() 2020-07-22 07:57:07 -04:00
virtio-ccw-scsi.c qdev: Convert uses of qdev_set_parent_bus() with Coccinelle 2020-06-15 22:05:08 +02:00
virtio-ccw-serial.c qdev: Convert uses of qdev_set_parent_bus() with Coccinelle 2020-06-15 22:05:08 +02:00
virtio-ccw.c qbus: Rename qbus_create_inplace() to qbus_init() 2021-09-30 13:42:10 +01:00
virtio-ccw.h s390x: add have_virtio_ccw 2021-03-26 09:33:50 +01:00