Messages in this thread | | | Date | Thu, 06 Aug 2009 08:06:18 -0600 | From | "Gregory Haskins" <> | Subject | Re: [PATCH 0/7] AlacrityVM guest drivers Reply-To: |
| |
>>> On 8/6/2009 at 9:57 AM, in message <4A7AE150.7040009@redhat.com>, Avi Kivity <avi@redhat.com> wrote: > On 08/06/2009 04:45 PM, Gregory Haskins wrote: >> >>> (though still rooting for virtio). >>> >> >> Heh...not to belabor the point to death, but virtio is orthogonal (you keep > forgetting that ;). >> >> Its really the vbus device-model vs the qemu device-model (and possibly vs the > "in-kernel pci emulation" model that I believe Michael is working on). >> >> You can run virtio on any of those three. >> > > It's not orthogonal. virtio is one set of ABI+guest drivers+host > support to get networking on kvm guests. AlacrityVM's vbus-based > drivers are another set of ABI+guest drivers+host support to get > networking on kvm guests. That makes them competitors (two different > ways to do one thing), not orthogonal.
Thats not accurate, though.
The virtio stack is modular. For instance, with virtio-net, you have
(guest-side) |-------------------------- | virtio-net |-------------------------- | virtio-ring |-------------------------- | virtio-bus |-------------------------- | virtio-pci |-------------------------- | (pci) | |-------------------------- | kvm.ko |-------------------------- | qemu |-------------------------- | tun-tap |-------------------------- | netif |-------------------------- (host-side)
We can exchange out the "virtio-pci" module like this:
(guest-side) |-------------------------- | virtio-net |-------------------------- | virtio-ring |-------------------------- | virtio-bus |-------------------------- | virtio-vbus |-------------------------- | vbus-proxy |-------------------------- | vbus-connector |-------------------------- | (vbus) | |-------------------------- | kvm.ko |-------------------------- | vbus-connector |-------------------------- | vbus |-------------------------- | virtio-net-tap (vbus model) |-------------------------- | netif |-------------------------- (host-side)
So virtio-net runs unmodified. What is "competing" here is "virtio-pci" vs "virtio-vbus". Also, venet vs virtio-net are technically competing. But to say "virtio vs vbus" is inaccurate, IMO.
HTH -Greg
| |