[PATCH 1/2] qemu: Switch to new -numa memdev=

Daniel P. Berrangé berrange at redhat.com
Wed May 13 15:44:10 UTC 2020


On Tue, May 12, 2020 at 04:52:46PM +0200, Michal Privoznik wrote:
> In v4.1.0-rc0~9^2~25 QEMU deprecated -numa mem= in favor of -numa
> memdev= + -object memory-backend-*. However, the problem is these
> two are incompatible. A domain started with older cmd line can't
> be migrated to the newer one and vice versa. That is why libvirt
> hasn't switched to the new cmd line, until now.
> 
> Starting with this commit, the new cmd line is used and this fact
> is then recorded in domain private data object under
> priv->forceNewNuma. This means, that the status XML and migration
> cookie have it too and thus can instruct the other daemon which
> cmd line to generate.
> 
> Unfortunately, migration from newer to older style will fail.
> I'm saving the explicit check for a separate commit.

AFAICT, this isn't the approach we had discussed previously with
QEMU.

QEMU introduced a flag on the machine type "numa-mem-supported".

If libvirt sees  "numa-mem-supported=false", then we must use
the new syntax, otherwise we must keep using the old syntax
for migration compatibility.

Essentially this lets us implement

   if machine type version > XXX
      new syntax
   else
      old syntax

without having to actually put a version number check into
libvirt.

QEMU has not actually set  numa-mem-supported=false on any
machine types upstream yet, becuase they're waiting for libvirt
to get this wired up.

The intent is that we can get some releases of libvirt into the
wild which support numa-mem-supported=false. Then when QEMU
flips the switch in new machine types we'll just "do the right
thing".

It will only break for people who use an old libvirt with a new
QEMU which should be relatively uncommon.


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 :|




More information about the libvir-list mailing list