On 12/21/09 11:37 AM, Anthony Liguori wrote: > On 12/21/2009 10:04 AM, Gregory Haskins wrote: >> No, B and C definitely are, but A is lacking. And the performance >> suffers as a result in my testing (vhost-net still throws a ton of exits >> as its limited by virtio-pci and only adds about 1Gb/s to virtio-u, far >> behind venet even with things like zero-copy turned off). >> > > How does virtio-pci limit vhost-net? The only time exits should occur > are when the guest notifies the host that something has been placed on > the ring. Since vhost-net has no tx mitigation scheme right now, the > result may be that it's taking an io exit on every single packet but > this is orthogonal to virtio-pci. > > Since virtio-pci supports MSI-X, there should be no IO exits on > host->guest notification other than EOI in the virtual APIC. The very best you can hope to achieve is 1:1 EOI per signal (though today virtio-pci is even worse than that). As I indicated above, I can eliminate more than 50% of even the EOIs in trivial examples, and even more as we scale up the number of devices or the IO load (or both). > This is a > light weight exit today and will likely disappear entirely with newer > hardware. By that argument, this is all moot. New hardware will likely obsolete the need for venet or virtio-net anyway. The goal of my work is to provide an easy to use framework for maximizing the IO transport _in lieu_ of hardware acceleration. Software will always be leading here, so we don't want to get into a pattern of waiting for new hardware to cover poor software engineering. Its simply not necessary in most cases. A little smart software design and a framework that allows it to be easily exploited/reused is the best step forward, IMO. Kind Regards, -Greg
Attachment:
signature.asc
Description: OpenPGP digital signature