[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v20 02/21] s390x/cpu topology: add topology entries on CPU ho
From: |
Thomas Huth |
Subject: |
Re: [PATCH v20 02/21] s390x/cpu topology: add topology entries on CPU hotplug |
Date: |
Thu, 27 Apr 2023 15:38:27 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.9.0 |
On 25/04/2023 18.14, Pierre Morel wrote:
The topology information are attributes of the CPU and are
specified during the CPU device creation.
On hot plug we:
- calculate the default values for the topology for drawers,
books and sockets in the case they are not specified.
- verify the CPU attributes
- check that we have still room on the desired socket
The possibility to insert a CPU in a mask is dependent on the
number of cores allowed in a socket, a book or a drawer, the
checking is done during the hot plug of the CPU to have an
immediate answer.
If the complete topology is not specified, the core is added
in the physical topology based on its core ID and it gets
defaults values for the modifier attributes.
This way, starting QEMU without specifying the topology can
still get some advantage of the CPU topology.
Signed-off-by: Pierre Morel <pmorel@linux.ibm.com>
---
...
diff --git a/hw/s390x/cpu-topology.c b/hw/s390x/cpu-topology.c
new file mode 100644
index 0000000000..471e0e7292
--- /dev/null
+++ b/hw/s390x/cpu-topology.c
@@ -0,0 +1,259 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * CPU Topology
Since you later introduce a file with almost the same name in the
target/s390x/ folder, it would be fine to have some more explanation here
what this file is all about (especially with regards to the other file in
target/s390x/).
+ *
+ * Copyright IBM Corp. 2022,2023
+ * Author(s): Pierre Morel <pmorel@linux.ibm.com>
+ *
+ */
+
+#include "qemu/osdep.h"
+#include "qapi/error.h"
+#include "qemu/error-report.h"
+#include "hw/qdev-properties.h"
+#include "hw/boards.h"
+#include "qemu/typedefs.h"
qemu/typedefs.h is already included by osdep.h by default, no need to
re-include it here.
+#include "target/s390x/cpu.h"
+#include "hw/s390x/s390-virtio-ccw.h"
+#include "hw/s390x/cpu-topology.h"
...> +
+/**
+ * s390_topology_setup_cpu:
+ * @ms: MachineState used to initialize the topology structure on
+ * first call.
+ * @cpu: the new S390CPU to insert in the topology structure
+ * @errp: the error pointer
+ *
+ * Called from CPU Hotplug to check and setup the CPU attributes
s/Hotplug/hotplug/
+ * before the CPU is inserted in the topology.
+ * There is no need to update the MTCR explicitely here because it
s/explicitely/explicitly/
+ * will be updated by KVM on creation of the new CPU.
+ */
+void s390_topology_setup_cpu(MachineState *ms, S390CPU *cpu, Error **errp)
...
Thomas
- [PATCH v20 00/21] s390x: CPU Topology, Pierre Morel, 2023/04/25
- [PATCH v20 07/21] target/s390x/cpu topology: activate CPU topology, Pierre Morel, 2023/04/25
- [PATCH v20 06/21] s390x/cpu topology: interception of PTF instruction, Pierre Morel, 2023/04/25
- [PATCH v20 02/21] s390x/cpu topology: add topology entries on CPU hotplug, Pierre Morel, 2023/04/25
- Re: [PATCH v20 02/21] s390x/cpu topology: add topology entries on CPU hotplug,
Thomas Huth <=
- [PATCH v20 12/21] qapi/s390x/cpu topology: query-cpu-polarization qmp command, Pierre Morel, 2023/04/25
- [PATCH v20 13/21] docs/s390x/cpu topology: document s390x cpu topology, Pierre Morel, 2023/04/25
- [PATCH v20 17/21] tests/avocado: s390x cpu topology test dedicated CPU, Pierre Morel, 2023/04/25
- [PATCH v20 03/21] target/s390x/cpu topology: handle STSI(15) and build the SYSIB, Pierre Morel, 2023/04/25
- [PATCH v20 21/21] tests/avocado: s390x cpu topology query-cpu-polarization, Pierre Morel, 2023/04/25
- [PATCH v20 16/21] tests/avocado: s390x cpu topology entitlement tests, Pierre Morel, 2023/04/25
- [PATCH v20 09/21] machine: adding s390 topology to query-cpu-fast, Pierre Morel, 2023/04/25