[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC 0/6] enable numa configuration before machine_init() f
From: |
Igor Mammedov |
Subject: |
[Qemu-devel] [RFC 0/6] enable numa configuration before machine_init() from HMP/QMP |
Date: |
Mon, 16 Oct 2017 18:22:50 +0200 |
Series allows to configure NUMA mapping at runtime using QMP/HMP
interface. For that to happen it introduces a new '-paused' CLI option
which allows to pause QEMU before machine_init() is run and
adds new set-numa-node HMP/QMP commands which in conjuction with
info hotpluggable-cpus/query-hotpluggable-cpus allow to configure
NUMA mapping for cpus.
HMP configuration session for CLI '-smp 1,maxcpus=2' would look like:
(qemu) info hotpluggable-cpus
Hotpluggable CPUs:
type: "qemu64-x86_64-cpu"
vcpus_count: "1"
CPUInstance Properties:
socket-id: "1"
core-id: "0"
thread-id: "0"
type: "qemu64-x86_64-cpu"
vcpus_count: "1"
qom_path: "/machine/unattached/device[0]"
CPUInstance Properties:
socket-id: "0"
core-id: "0"
thread-id: "0"
(qemu) set-numa-node node,nodeid=0
(qemu) set-numa-node node,nodeid=1
(qemu) set-numa-node cpu,socket-id=0,node-id=0
(qemu) set-numa-node cpu,socket-id=1,node-id=1
(qemu) info hotpluggable-cpus
Hotpluggable CPUs:
type: "qemu64-x86_64-cpu"
vcpus_count: "1"
CPUInstance Properties:
node-id: "1"
socket-id: "1"
core-id: "0"
thread-id: "0"
type: "qemu64-x86_64-cpu"
vcpus_count: "1"
CPUInstance Properties:
node-id: "0"
socket-id: "0"
core-id: "0"
thread-id: "0"
(qemu) cont
git tree for testing:
https://github.com/imammedo/qemu qmp_preconfig_rfc
CC: address@hidden
CC: address@hidden
CC: address@hidden
CC: address@hidden
CC: address@hidden
CC: address@hidden
CC: address@hidden
CC: address@hidden
Igor Mammedov (6):
numa: postpone options post-processing till machine_run_board_init()
numa: split out NumaOptions parsing into parse_NumaOptions()
possible_cpus: add CPUArchId::type field
CLI: add -paused option
HMP: add set-numa-node command
QMP: add set-numa-node command
hmp.h | 1 +
include/hw/boards.h | 2 ++
include/sysemu/numa.h | 2 ++
include/sysemu/sysemu.h | 1 +
hmp-commands.hx | 13 ++++++++
hmp.c | 23 ++++++++++++++
hw/arm/virt.c | 3 +-
hw/core/machine.c | 18 ++++++-----
hw/i386/pc.c | 4 ++-
hw/ppc/spapr.c | 13 +++++---
hw/s390x/s390-virtio-ccw.c | 1 +
numa.c | 79 ++++++++++++++++++++++++++++++++++------------
qapi-schema.json | 13 ++++++++
qemu-options.hx | 15 +++++++++
qmp.c | 5 +++
vl.c | 54 ++++++++++++++++++++++++++++++-
16 files changed, 210 insertions(+), 37 deletions(-)
--
2.7.4