[Top][All Lists]
[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/
- [Qemu-devel] [BUG] Regression of exec migration,
Pierre Riteau <=