声明:
本博客欢迎转发,但请保留原作者信息!
博客地址:http://blog.csdn.net/halcyonbaby
内容系本人学习、研究和总结,如有雷同,实属荣幸!
Qemu Migration优化特性
LiveMigration时Guest自动减速
用途
Guest非常忙,内存更新速度快于migration速度,导致LiveMigration一直无法完成。
这种情况下,通过使Guest降速(减少VCPU时间),短时降低Guest更新内存速度。使LiveMiration
能够完成。
原理
一个周期产生的dirty数据超过发送数据的50%,这种情况连续出现5次的话,触发Guest降速。
Guest降速方法:
1.启动独立的线程,使用run_on_cpu使虚拟机退出。
2.虚拟机退出到Qemu中,使用如下处理暂停一段时间。
@@ -1609,6 +1613,10 @@ int kvm_cpu_exec(CPUArchState *env)
}
qemu_mutex_unlock_iothread();
+ if (throttling_needed()) {
+ mig_delay_vcpu();
+ }
+
run_ret = kvm_vcpu_ioctl(cpu, KVM_RUN, 0);