Since qemu has supported numa option -memdev config: -object memory-backend-ram,size=1024M,policy=membind,host-nodes=0,id=ram-node0 \ -numa node,nodeid=0,cpus=0,memdev=ram-node0 \ for binding guest numa nodes to host numa nodes. So we introduce this capability in libvirt by configuration domain XML like: ... <cpu> <numa> <cell cpus='0-1' memdev='ram0'/> </numa> </cpu> ... <devices> <memdev type='ram' merge='yes' dump='yes' prealloc='yes'> <name>ram0</name> <capacity unit='MiB'>1000</capacity> <source host-nodes='0-1' policy='bind' /> </memdev> </devices> Chen Fan (3): numa: add '-numa memdev=' support conf: add memdev device in <devices> XML tests: add numa -memdev testing and docs support docs/formatdomain.html.in | 71 ++++++- docs/schemas/domaincommon.rng | 76 +++++++- src/conf/cpu_conf.c | 73 ++++++-- src/conf/cpu_conf.h | 13 +- src/conf/domain_conf.c | 203 ++++++++++++++++++++- src/conf/domain_conf.h | 42 +++++ src/libvirt_private.syms | 4 + src/qemu/qemu_capabilities.c | 4 + src/qemu/qemu_capabilities.h | 2 + src/qemu/qemu_command.c | 84 ++++++++- src/qemu/qemu_command.h | 4 + src/qemu/qemu_hotplug.c | 1 + tests/qemuxml2argvdata/qemuxml2argv-cpu-numa3.args | 9 + tests/qemuxml2argvdata/qemuxml2argv-cpu-numa3.xml | 35 ++++ tests/qemuxml2argvdata/qemuxml2argv-cpu-numa4.args | 10 + tests/qemuxml2argvdata/qemuxml2argv-cpu-numa4.xml | 35 ++++ tests/qemuxml2argvtest.c | 2 + 17 files changed, 644 insertions(+), 24 deletions(-) create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-cpu-numa3.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-cpu-numa3.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-cpu-numa4.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-cpu-numa4.xml -- 1.9.3 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list