qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [BUG] Regression of exec migration


From: Pierre Riteau
Subject: [Qemu-devel] [BUG] Regression of exec migration
Date: Thu, 27 Aug 2009 11:19:29 +0200

[Sorry Chris, resending without the giant attachments.]

Commit 907500095851230a480b14bc852c4e49d32cb16d makes exec migration much slower than before.
I'm running the latest HEAD of qemu, on Debian Lenny 5.0.2.

I'm migrating a fully booted Linux VM (also running Lenny) with 128MB of RAM to a file, using the following command: migrate "exec: cat > vmimage". The resulting file has a size of 57MB (because we save only what is allocated from the 128MB). With the current HEAD, it takes from 15 to 40 seconds (it's variable) to perform the migration to the file. With commit 907500095851230a480b14bc852c4e49d32cb16d reverted (or just commenting the "socket_set_nonblock(s->fd);" statement), it takes about 3 seconds.

I did a little debugging and it appears that, when in non-blocking mode, a write to the popen'ed process which fails with EAGAIN (because cat is busy writing data on disk) will only be retried after 100 ms (the next timer tick?).

Linked below are two traces of qemu's output with DEBUG_BUFFERED_FILE defined. I modified the dprintf macro to print the result of qemu_get_clock(rt_clock) before the message. nonblock.log is with an unmodified HEAD while block.log has the "socket_set_nonblock(s->fd);" statement commented.
Notice the "backend not ready, freezing" messages when nonblock is used.

http://dl.getdropbox.com/u/1389459/qemu-devel/block.log
http://dl.getdropbox.com/u/1389459/qemu-devel/nonblock.log

--
Pierre Riteau -- http://perso.univ-rennes1.fr/pierre.riteau/





reply via email to

[Prev in Thread] Current Thread [Next in Thread]