On Fri, Feb 20, 2015 at 07:37:03 -0500, John Ferlan wrote:
$sub
s/seting/setting
On 02/18/2015 09:16 AM, Peter Krempa wrote:
> NUMA enabled guest configuration explicitly specifies memory sizes for
> individual nodes. Allowing the virDomainSetMemoryFlags API (and friends)
> to change the total doesn't make sense as the individual node configs
> are not updated in that case.
>
> Forbid use of the API in case NUMA is specified.
> ---
> src/qemu/qemu_driver.c | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
Peeking forward to the next patch it seems src/lxc/lxc_driver.c has the
same flags & VIR_DOMAIN_MEM_MAXIMUM, then flags & VIR_DOMAIN_AFFECT_CONFIG.
So if the theory is lxc copied qemu, then should this also be done for
lxc? Especially since you're altering the else portion for both.
I don't think that LXC supports NUMA to the extent of NUMA cells or
specific NUMA configuration so I don't think it makes sense to patch
there.
> diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
> index 2b0dac7..e2abbe0 100644
> --- a/src/qemu/qemu_driver.c
> +++ b/src/qemu/qemu_driver.c
> @@ -2307,6 +2307,16 @@ static int qemuDomainSetMemoryFlags(virDomainPtr dom,
unsigned long newmem,
> if (flags & VIR_DOMAIN_AFFECT_CONFIG) {
> /* Help clang 2.8 decipher the logic flow. */
> sa_assert(persistentDef);
> +
> + /* resizing memory with NUMA nodes specified doesn't work as there
> + * is no way to decrease the individual node sizes along */
Looks like you didn't finish your thoughts with the comment... 'along ?'
Looks like I've got sidetracked while writing that message. Since I'll
be reposting that patch I'll try to fix it.
Seems reasonable, but is there a downside? I don't have the
relationship between the balloon driver and numa currently paged in ;-)
It also seems that something like this would be documented - that is -
in the API and perhaps virsh.pod that changing maxmem for certain
hypervisors for domains using numa cannot be done (instead use...).
Hmm yeah, we should add docs for this one.
John
Peter