[libvirt] [PATCHv3.5 0/4] Automaticaly fill <memory> element for NUMA enabled guests
Peter Krempa
pkrempa at redhat.com
Mon Mar 16 13:52:30 UTC 2015
On Thu, Mar 12, 2015 at 10:07:04 -0400, John Ferlan wrote:
> On 03/06/2015 09:40 AM, Peter Krempa wrote:
> > Pavel's series changed few same places thus the previous version no longer applies.
> >
> > Peter Krempa (4):
> > conf: Replace access to def->mem.max_balloon with accessor functions
> > qemu: command: Add helper to align memory sizes
> > conf: Automatically use NUMA memory size in case NUMA is enabled
> > conf: Make specifying <memory> optional
> >
> > docs/schemas/domaincommon.rng | 18 ++---
> > src/conf/domain_conf.c | 81 +++++++++++++++++++---
> > src/conf/domain_conf.h | 4 ++
> > src/hyperv/hyperv_driver.c | 2 +-
> > src/libvirt_private.syms | 3 +
> > src/libxl/libxl_conf.c | 2 +-
> > src/libxl/libxl_driver.c | 8 +--
> > src/lxc/lxc_cgroup.c | 2 +-
> > src/lxc/lxc_driver.c | 12 ++--
> > src/lxc/lxc_fuse.c | 4 +-
> > src/lxc/lxc_native.c | 4 +-
> > src/openvz/openvz_driver.c | 2 +-
> > src/parallels/parallels_driver.c | 2 +-
> > src/parallels/parallels_sdk.c | 12 ++--
> > src/phyp/phyp_driver.c | 11 +--
> > src/qemu/qemu_command.c | 23 +++---
> > src/qemu/qemu_domain.c | 21 ++++++
> > src/qemu/qemu_domain.h | 2 +
> > src/qemu/qemu_driver.c | 21 +++---
> > src/qemu/qemu_hotplug.c | 8 ++-
> > src/qemu/qemu_process.c | 2 +-
> > src/test/test_driver.c | 8 +--
> > src/uml/uml_driver.c | 8 +--
> > src/vbox/vbox_common.c | 4 +-
> > src/vmware/vmware_driver.c | 2 +-
> > src/vmx/vmx.c | 12 ++--
> > src/xen/xm_internal.c | 14 ++--
> > src/xenapi/xenapi_driver.c | 2 +-
> > src/xenapi/xenapi_utils.c | 4 +-
> > src/xenconfig/xen_common.c | 8 ++-
> > src/xenconfig/xen_sxpr.c | 9 +--
> > .../qemuxml2argv-cpu-numa-no-memory-element.args | 7 ++
> > .../qemuxml2argv-cpu-numa-no-memory-element.xml | 24 +++++++
> > .../qemuxml2argv-minimal-no-memory.xml | 25 +++++++
> > .../qemuxml2argv-numatune-memnode.args | 2 +-
> > tests/qemuxml2argvtest.c | 2 +
> > .../qemuxml2xmlout-cpu-numa-no-memory-element.xml | 28 ++++++++
> > tests/qemuxml2xmltest.c | 1 +
> > 38 files changed, 299 insertions(+), 105 deletions(-)
> > create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-cpu-numa-no-memory-element.args
> > create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-cpu-numa-no-memory-element.xml
> > create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-minimal-no-memory.xml
> > create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-cpu-numa-no-memory-element.xml
> >
>
> Since this is the order of your repo on git://pipo.sk/pipo/libvirt.git,
> I'll start with these.
>
> Couple of general comments...
>
> - I think the new function names are better
>
> - I think one can tell that the "KiB" or "MiB" was realized at some
> point in time after "KB" and "MB" - as there's stray comments and
> variables using the (I guess) now incorrect terminology. Not that I'm
> asking for them to be changed, just an "observation".
>
> - Whether they snuck in after you started this - there are a few direct
> references to mem.max_balloon in the bhyve_command.c. Should they be
> replaced by the new accessors?
I actually missed fixing the bhyve driver. I've done it now.
>
> - Because it became apparent in patch 4... In virDomainDefParseXML,
> just to be "complete" shouldn't the:
>
> /* Extract domain memory */
> if (virDomainParseMemory("./memory[1]", NULL, ctxt,
> &def->mem.max_balloon, false, true) < 0)
>
> be replaced with something like:
>
> unsigned long long memory_value;
> ...
> /* Extract domain memory */
> if (virDomainParseMemory("./memory[1]", NULL, ctxt,
> &memory_value, false, true) < 0) {
> ...
> }
> virDomainDefSetMemoryInitial(def, memory_value);
>
>
> Although it seems like overkill - it's just making sure no one tries to
> cut-copy-paste in the future.
In the config the implementation is actually "private" and since it's
only a single place we should be okay here.
>
> - With having virDomainDefGetMemoryInitial understand NUMA vs Balloon,
> should virDomainDefSetMemoryInitial check and not set max_balloon?
> Theoretically if <memory> wasn't filled, then we're possible setting
> something we shouldn't which could then be output when the domain is
> saved, right?
It actually will be overwritten by the correct value
>
> ACK in principal - perhaps give it a day to see if anyone else has
> comments or issues...
Thanks I'll push this series in a while.
>
> John
Peter
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20150316/e6ede002/attachment-0001.sig>
More information about the libvir-list
mailing list