On an additional note, Windows host users may want to try moving the
arbitrary Sleep() in main_loop_wait() to the end of the function, and
making that conditional if there are no I/O events pending. Otherwise,
there is a fixed penalty and this does not take advantage of Ken's new
patch to avoid the delay if there are pending slirp requests for
example. When I have some time I will see if there is a better way to
multiplex poll in Windows, so that you can use something like select()
but still get interrupted. There might for example be something
relevant in the newer winsock libraries (i.e. V2), but of course it has
to be general enough to work on any type of fd.
I apologize but I have not yet been able to successfully build QEMU on
Windows, even after mucking with the mingw stuff. I probably need to
spend more time on it at some point. But if anyone is using Windows and
can compile QEMU from source, you can try moving the Sleep to see if
that helps, especially after applying Ken's new patches. Actually
Kazu's patch for TAP performance addresses this for TAP for example, so
it should be easy to adapt to slirp... the code is in very close proximity.
- Leo Reiter
Kenneth Duda wrote:
The "qemu-slirp-performance" patch contains three improvements to qemu
slirp networking performance. Booting my virtual machine (which
NFS-mounts its root filesystem from the host) has been accelerated by
8x, from over 5 minutes to 40 seconds. TCP throughput has been
accelerated from about 2 megabytes/sec to 9 megabytes/sec, in both
directions (measured using a simple python script). The system is
subjectively more responsive (for activities such as logging in or
running simple python scripts).
--
Leonardo E. Reiter
Vice President of Product Development, CTO
Win4Lin, Inc.
Virtual Computing from Desktop to Data Center
Main: +1 512 339 7979
Fax: +1 512 532 6501
http://www.win4lin.com
_______________________________________________
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel