Hey, So, I went off and spent some time gathering more data on this stuff and putting it together in a more consumable fashion.
Here are some graphs showing the effect some of these changes have on throughput, cpu utilization and vmexit rate: http://markmc.fedorapeople.org/virtio-netperf/2008-11-06/ The results are a little surprising, and I'm not sure I've fully digested them yet but some conclusions: 1) Disabling notifications from the guest for longer helps; you see an increase in cpu utilization and vmexit rate, but that can be accounted for by the extra data we're transferring 2) Flushing (when the ring is full) in the I/O thread doesn't seem to help anything; strangely, it has a detrimental effect on host->guest traffic where I would expect us to hit this case at all. I suspect we may not actually be hitting the full ring condition in these tests at all. 3) The catch-more-io thing helps a little, especially host->guest, without any real detrimental impact. 4) Removing the tx timer doesn't have a huge affect on guest->host, except for 32 byte buffers where we see a huge increase in vmexits and a drop in throughput. Bizarrely, we don't see this effect with 64 byte buffers. However, it does have a pretty significant impact on host->guest, which makes sense since in that case we'll just have a steady stream of TCP ACK packets so if small guest->host packets are affected badly, so will the ACK packets. 5) The drop-mutex patch is a nice win overall, except for a huge increase in vmexits for sub-4k guest->host packets. Strange. Cheers, Mark. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html