Hi all,
When migrating a guest which consumes too much CPU & memory, dirty
pages amount will increase significantly, so does the migration
time, migration can not even complete, at worst.
So I made an RFC patch in QEMU to set cpu throttle value by workload
when migration. The test result and the RFC patch are here:
https://lists.gnu.org/archive/html/qemu-devel/2017-01/msg03479.html
But this idea was not accepted by QEMU community. So I want to do a
similar feature in libvirt:
Step 1: Add --auto-converge-smart parameter to migrate.
Step 2: Add a timer in qemu-driver to get the 'info migrate' to check
if the dirty-pages-rate updated every 1 second or 0.5 second
when migration.
Step 3: If updated, change the cpu throttle value according to the
dirty-pages-rate and page-size by
'migrate_set_parameter cpu-throttle-increment'
I think this feature makes auto-converge smarter than leaving the
cpu throttle value with default 20/10 or set by users.
And also it can save time.
Any comments will be welcome.
Thanks,
Chao Fan