Hi Ken,
(all) the patches seem to work very well and be very stable with Windows
2000 guests here. I measured some SMB over TCP/IP transfers, and got
about a 1.5x downstream improvement and a 2x upstream improvement. You
will likely get more boost from less convoluted protocols like FTP or
something, but I didn't get around to testing that. Plus it's not clear
how much Windows itself is impeding the bandwidth. I am using
-kernel-kqemu.
2 additional things I noticed:
1. before your patches, the upstream transfers (guest->host) consumed
almost no CPU at all, but of course were much slower. Now, about half
the CPU gets used under heavy upstream load. The downstream, with
Windows guests at least, consumes 100% CPU the same as before. I
suspect you addressed this specifically with your select hack to avoid
the delay if there is pending slirp activity
2. overall latency "feels" improved as well, at least for basic stuff
like web browsing, etc. This is purely subjective.
Nice work! I'll be testing with a Linux VM soon and try to pin down
some better benchmarks, free of Windows clutter.
- 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).
The specific problems fixed are:
- the mss for the slirp-to-vm direction was 512 bytes (now 1460);
- qemu would block in select() for up to four milliseconds at a
time, even when data was waiting on slirp sockets;
- slirp was deliberately delaying acks until timer expiration
(TF_DELACK), preventing the vm from opening its send window, in
violation of rfc2581.
These fixes are together in one patch (qemu-slirp-performance.patch).
<snip>
--
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