[libvirt] [RFC PATCH] libvirt support to force convergence of live guest migration

Jiri Denemark jdenemar at redhat.com
Fri Dec 13 15:32:22 UTC 2013


On Tue, Nov 26, 2013 at 12:31:12 -0800, Chegu Vinod wrote:
> On 11/26/2013 4:24 AM, Jiri Denemark wrote:
> > On Thu, Nov 21, 2013 at 17:47:24 -0800, Chegu Vinod wrote:
> >> Busy enterprise workloads hosted on large sized VM's tend to dirty
> >> memory faster than the transfer rate achieved via live guest migration.
> >> Despite some good recent improvements (& using dedicated 10Gig NICs
> >> between hosts) the live migration may NOT converge.
> >>
> >> Recently support was added in qemu (version 1.6) to allow a user to
> >> choose if they wish to force convergence of their migration via a
> >> new migration capability : "auto-converge". This feature allows for qemu
> >> to auto-detect lack of convergence and trigger a throttle-down of the
> >> VCPUs.
> >>
> >> This RFC patch includes the libvirt support needed to trigger this
> >> feature. (Testing is still in progress)
...
> > So except for the small issues, the patch looks good to me. However, do
> > I remember correctly that this feature can be turned on dynamically for
> > an already running migration? If so, I think we want a second patch
> > adding a new API for setting this auto-converge feature.
> 
> Yes.
> 
> Is there a sample reference/example that I could look up ?

You can have a look at virConnectGetCPUModelNames, which is the most
recent simple API added to libvirt (commits
f90857b32aa81f9a5e878e7bceb2df30e2b1b4f8,
fd69544965ddf0e49e40c99d24708da4ba1a7648,
cbcecd7ab14de22467c405023580afcb9e8eca54,
ea45b23cfc2b75053aea96f29a2a91cfc8e26013) but n qemu_driver.c you will
need to use QEMU_JOB_MIGRATION_OP as the job type (the third parameter
to qemuDomainObjBeginJob) to make this API working during migration.

Jirka




More information about the libvir-list mailing list