[libvirt] [ROC] migration: set cpu throttle value by workload

Chao Fan fanc.fnst at cn.fujitsu.com
Wed Apr 26 11:26:53 UTC 2017


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






More information about the libvir-list mailing list