On Mon, Oct 16, 2017 at 05:36:36PM +0100, Daniel P. Berrange wrote: > On Mon, Oct 16, 2017 at 06:22:50PM +0200, Igor Mammedov wrote: > > 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. > > What's the problem we're seeking solve here compared to what we currently > do for NUMA configuration ?
I don't understand completely what exactly Igor is trying to solve, but this new mode would be very helpful to address the issues mentioned at: http://www.linux-kvm.org/images/4/46/03x06A-Eduardo_HabkostMachine-type_Introspection_and_Configuration_Where_Are_We_Going.pdf (starting on slide 12) > > > > > 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: ebl...@redhat.com > > CC: arm...@redhat.com > > CC: ehabk...@redhat.com > > CC: pkre...@redhat.com > > CC: da...@gibson.dropbear.id.au > > CC: peter.mayd...@linaro.org > > CC: pbonz...@redhat.com > > CC: coh...@redhat.com > > > > 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 > > > > > > Regards, > Daniel > -- > |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| > |: https://libvirt.org -o- https://fstop138.berrange.com :| > |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :| -- Eduardo