On 06/02/2015 11:46 AM, Jason J. Herne wrote: > Remove traditional auto-converge static 30ms throttling code and replace it > with a dynamic throttling algorithm. > > Additionally, be more aggressive when deciding when to start throttling. > Previously we waited until four unproductive memory passes. Now we begin > throttling after only two unproductive memory passes. Four seemed quite > arbitrary and only waiting for two passes allows us to complete the migration > faster. > > Signed-off-by: Jason J. Herne <jjhe...@linux.vnet.ibm.com> > Reviewed-by: Matthew Rosato <mjros...@linux.vnet.ibm.com> > --- > arch_init.c | 95 > +++++++++++++++++---------------------------------- > migration/migration.c | 9 +++++ > 2 files changed, 41 insertions(+), 63 deletions(-) >
> +static void mig_throttle_guest_down(void) > +{ > + CPUState *cpu; > + > + CPU_FOREACH(cpu) { > + /* We have not started throttling yet. Lets start it.*/ s/Lets/Let's/ s|it.*/|it. */| > + if (!cpu_throttle_active(cpu)) { > + cpu_throttle_start(cpu, 0.2); > + } > + > + /* Throttling is already in place. Just increase the throttling rate > */ > + else { Unusual layout. More typical would be: if (...) { ... } else { /* comment */ ... } -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature