Re: [GIT PULL] AlacrityVM guest drivers for 2.6.33

Gregory Haskins
2009-12-21T16:46:13Z

[-- Attachment #1: Type: text/plain, Size: 1834 bytes --]

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 #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 267 bytes --]