2010/5/3 Charles Duffy <charles(a)dyfis.net>:
...or more particularly, in ram_bytes_remaining() called by
do_info_migrate();
oddly, this is much more pronounced when running with <emulator> pointing at a
shim prepending -no-kvm-irqchip to the invoked command line.
This VM was intended to be paused for the save event (if my software was doing
its job correctly), so we shouldn't be spending time running the guest CPU and
writing updates for already-once-written blocks.
I'm seeing much more CPU time spent inside qemu-kvm than in the exec'd lzop
process compressing and writing the data stream; on attaching gdb and taking
some stack traces to sample where execution time was spent, it appeared that we
were spending our time responding to requests from the monitor.
The question then -- is the 50ms poll in qemuDomainWaitForMigrationComplete
(called from qemudDomainSave) perhaps too frequent?
Thanks!
What's the libvirt version?
Maybe the "Poll for migration end every 50ms instead of 50us" [1]
commit (part of 0.8.1) fixes your problem, if you're currently using
libvirt < 0.8.1.
[1]
http://libvirt.org/git/?p=libvirt.git;a=commit;h=e2c059485cf062bf1f906623...
Matthias