On 2/17/22 15:20, Daniel P. Berrangé wrote:
On Thu, Feb 17, 2022 at 02:41:22PM +0100, Pierre Morel wrote:
S390 CPU topology may have up to 5 topology containers.
The first container above the cores is level 2, the sockets,
and the level 3, containing sockets are the books.
We introduce here the drawers, drawers is the level containing books.
Let's add drawers, level4, containers to the CPU topology.
Signed-off-by: Pierre Morel <pmorel@xxxxxxxxxxxxx>
---
hw/core/machine-smp.c | 33 ++++++++++++++++++++++++++-------
hw/core/machine.c | 2 ++
hw/s390x/s390-virtio-ccw.c | 1 +
include/hw/boards.h | 4 ++++
qapi/machine.json | 7 ++++++-
softmmu/vl.c | 3 +++
6 files changed, 42 insertions(+), 8 deletions(-)
Needs to update -smp args in qemu-options.hx too.
Oh, right!
Thanks
...snip...
index 73206f811a..fa6bde5617 100644
--- a/qapi/machine.json
+++ b/qapi/machine.json
@@ -866,13 +866,14 @@
# a CPU is being hotplugged.
#
# @node-id: NUMA node ID the CPU belongs to
+# @drawer-id: drawer number within node/board the CPU belongs to
# @book-id: book number within node/board the CPU belongs to
# @socket-id: socket number within node/board the CPU belongs to
So the lack of change here implies that 'socket-id' is unique
across multiple books/drawers. Is that correct, as its differnt
from semantics for die-id/core-id/thread-id which are scoped
to within the next level of the topology ?
Hum, no I forgot to update and it needs a change.
What about
# @book-id: book number within node/board/drawer the CPU belongs to
# @socket-id: socket number within node/board/book the CPU belongs to
?
# @die-id: die number within socket the CPU belongs to (since 4.1)
# @core-id: core number within die the CPU belongs to
# @thread-id: thread number within core the CPU belongs to
#
-# Note: currently there are 6 properties that could be present
+# Note: currently there are 7 properties that could be present
# but management should be prepared to pass through other
# properties with device_add command to allow for future
# interface extension. This also requires the filed names to be kept in
@@ -882,6 +883,7 @@
##
{ 'struct': 'CpuInstanceProperties',
'data': { '*node-id': 'int',
+ '*drawer-id': 'int',
'*book-id': 'int',
'*socket-id': 'int',
'*die-id': 'int',
Regards,
Daniel
Thanks a lot,
Regards,
Pierre
--
Pierre Morel
IBM Lab Boeblingen