All of lore.kernel.org
 help / color / mirror / Atom feed
From: Avi Kivity <avi@redhat.com>
To: Gregory Haskins <gregory.haskins@gmail.com>
Cc: kvm@vger.kernel.org, "Michael S. Tsirkin" <mst@redhat.com>,
	netdev@vger.kernel.org, "Ira W. Snyder" <iws@ovro.caltech.edu>,
	linux-kernel@vger.kernel.org,
	virtualization@lists.linux-foundation.org, linux-mm@kvack.org,
	s.hetze@linux-ag.com, hpa@zytor.com, mingo@elte.hu,
	alacrityvm-devel@lists.sourceforge.net,
	akpm@linux-foundation.org
Subject: Re: [PATCHv5 3/3] vhost_net: a kernel-level virtio server
Date: Wed, 23 Sep 2009 17:37:35 +0300	[thread overview]
Message-ID: <4ABA32AF.50602__5808.82849540121$1253716895$gmane$org@redhat.com> (raw)
In-Reply-To: <4ABA3005.60905@gmail.com>

On 09/23/2009 05:26 PM, Gregory Haskins wrote:
>
>    
>>> Yes, I'm having to create my own bus model, a-la lguest, virtio-pci, and
>>> virtio-s390. It isn't especially easy. I can steal lots of code from the
>>> lguest bus model, but sometimes it is good to generalize, especially
>>> after the fourth implemention or so. I think this is what GHaskins tried
>>> to do.
>>>
>>>        
>> Yes.  vbus is more finely layered so there is less code duplication.
>>      
> To clarify, Ira was correct in stating this generalizing some of these
> components was one of the goals for the vbus project: IOW vbus finely
> layers and defines what's below virtio, not replaces it.
>
> You can think of a virtio-stack like this:
>
> --------------------------
> | virtio-net
> --------------------------
> | virtio-ring
> --------------------------
> | virtio-bus
> --------------------------
> | ? undefined ?
> --------------------------
>
> IOW: The way I see it, virtio is a device interface model only.  The
> rest of it is filled in by the virtio-transport and some kind of back-end.
>
> So today, we can complete the "? undefined ?" block like this for KVM:
>
> --------------------------
> | virtio-pci
> --------------------------
>               |
> --------------------------
> | kvm.ko
> --------------------------
> | qemu
> --------------------------
> | tuntap
> --------------------------
>
> In this case, kvm.ko and tuntap are providing plumbing, and qemu is
> providing a backend device model (pci-based, etc).
>
> You can, of course, plug a different stack in (such as virtio-lguest,
> virtio-ira, etc) but you are more or less on your own to recreate many
> of the various facilities contained in that stack (such as things
> provided by QEMU, like discovery/hotswap/addressing), as Ira is discovering.
>
> Vbus tries to commoditize more components in the stack (like the bus
> model and backend-device model) so they don't need to be redesigned each
> time we solve this "virtio-transport" problem.  IOW: stop the
> proliferation of the need for pci-bus, lguest-bus, foo-bus underneath
> virtio.  Instead, we can then focus on the value add on top, like the
> models themselves or the simple glue between them.
>
> So now you might have something like
>
> --------------------------
> | virtio-vbus
> --------------------------
> | vbus-proxy
> --------------------------
> | kvm-guest-connector
> --------------------------
>               |
> --------------------------
> | kvm.ko
> --------------------------
> | kvm-host-connector.ko
> --------------------------
> | vbus.ko
> --------------------------
> | virtio-net-backend.ko
> --------------------------
>
> so now we don't need to worry about the bus-model or the device-model
> framework.  We only need to implement the connector, etc.  This is handy
> when you find yourself in an environment that doesn't support PCI (such
> as Ira's rig, or userspace containers), or when you want to add features
> that PCI doesn't have (such as fluid event channels for things like IPC
> services, or priortizable interrupts, etc).
>    

Well, vbus does more, for example it tunnels interrupts instead of 
exposing them 1:1 on the native interface if it exists.  It also pulls 
parts of the device model into the host kernel.

>> The virtio layering was more or less dictated by Xen which doesn't have
>> shared memory (it uses grant references instead).  As a matter of fact
>> lguest, kvm/pci, and kvm/s390 all have shared memory, as you do, so that
>> part is duplicated.  It's probably possible to add a virtio-shmem.ko
>> library that people who do have shared memory can reuse.
>>      
> Note that I do not believe the Xen folk use virtio, so while I can
> appreciate the foresight that went into that particular aspect of the
> design of the virtio model, I am not sure if its a realistic constraint.
>    

Since a virtio goal was to reduce virtual device driver proliferation, 
it was necessary to accommodate Xen.

-- 
error compiling committee.c: too many arguments to function

  parent reply	other threads:[~2009-09-23 14:37 UTC|newest]

Thread overview: 231+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <cover.1251388414.git.mst@redhat.com>
2009-08-27 16:06 ` [PATCHv5 1/3] mm: export use_mm/unuse_mm to modules Michael S. Tsirkin
2009-08-27 16:06 ` Michael S. Tsirkin
2009-08-27 16:06   ` Michael S. Tsirkin
2009-08-27 16:06   ` Michael S. Tsirkin
2009-08-28 15:31   ` Gregory Haskins
2009-08-28 15:31   ` Gregory Haskins
2009-08-27 16:07 ` [PATCHv5 2/3] mm: reduce atomic use on use_mm fast path Michael S. Tsirkin
2009-08-27 16:07   ` Michael S. Tsirkin
2009-08-27 16:07   ` Michael S. Tsirkin
2009-08-27 16:07 ` Michael S. Tsirkin
2009-08-27 16:07 ` [PATCHv5 3/3] vhost_net: a kernel-level virtio server Michael S. Tsirkin
2009-08-27 16:07   ` Michael S. Tsirkin
2009-08-27 16:07   ` Michael S. Tsirkin
2009-09-03 18:39   ` Ira W. Snyder
2009-09-03 18:39   ` Ira W. Snyder
2009-09-03 18:39     ` Ira W. Snyder
2009-09-07 10:15     ` Michael S. Tsirkin
2009-09-07 10:15     ` Michael S. Tsirkin
2009-09-07 10:15       ` Michael S. Tsirkin
2009-09-08 17:20       ` Ira W. Snyder
2009-09-08 17:20         ` Ira W. Snyder
2009-09-08 20:14         ` Michael S. Tsirkin
2009-09-08 20:14         ` Michael S. Tsirkin
2009-09-08 20:14           ` Michael S. Tsirkin
2009-09-11 15:17           ` Xin, Xiaohui
2009-09-11 15:17             ` Xin, Xiaohui
2009-09-13  5:46             ` Michael S. Tsirkin
2009-09-13  5:46               ` Michael S. Tsirkin
2009-09-14  5:57               ` Xin, Xiaohui
2009-09-14  5:57               ` Xin, Xiaohui
2009-09-14  5:57                 ` Xin, Xiaohui
2009-09-14  5:57                 ` Xin, Xiaohui
2009-09-14  7:05                 ` Michael S. Tsirkin
2009-09-14  7:05                 ` Michael S. Tsirkin
2009-09-14  7:05                   ` Michael S. Tsirkin
2009-09-13  5:46             ` Michael S. Tsirkin
2009-09-11 15:17           ` Xin, Xiaohui
2009-09-11 16:00         ` Gregory Haskins
2009-09-11 16:14           ` Gregory Haskins
2009-09-11 16:14           ` Gregory Haskins
2009-09-13 12:01           ` Michael S. Tsirkin
2009-09-13 12:01           ` Michael S. Tsirkin
2009-09-13 12:01             ` Michael S. Tsirkin
2009-09-14 16:08             ` Gregory Haskins
2009-09-14 16:47               ` Michael S. Tsirkin
2009-09-14 16:47               ` Michael S. Tsirkin
2009-09-14 16:47                 ` Michael S. Tsirkin
2009-09-14 19:14                 ` Gregory Haskins
2009-09-15 12:35                   ` Avi Kivity
2009-09-15 12:35                   ` Avi Kivity
2009-09-15 12:35                     ` Avi Kivity
2009-09-15 13:03                     ` Gregory Haskins
2009-09-15 13:03                     ` Gregory Haskins
2009-09-15 13:25                       ` Avi Kivity
2009-09-15 13:25                         ` Avi Kivity
2009-09-15 13:50                         ` Gregory Haskins
2009-09-15 13:50                         ` Gregory Haskins
2009-09-15 14:28                           ` Michael S. Tsirkin
2009-09-15 14:28                           ` Michael S. Tsirkin
2009-09-15 14:28                             ` Michael S. Tsirkin
2009-09-15 15:03                           ` Avi Kivity
2009-09-15 15:03                           ` Avi Kivity
2009-09-15 15:03                             ` Avi Kivity
2009-09-15 20:08                             ` Gregory Haskins
2009-09-15 20:08                             ` Gregory Haskins
2009-09-15 20:40                               ` Michael S. Tsirkin
2009-09-15 20:40                                 ` Michael S. Tsirkin
2009-09-15 20:43                                 ` Gregory Haskins
2009-09-15 20:43                                 ` Gregory Haskins
2009-09-15 21:25                                   ` Michael S. Tsirkin
2009-09-15 21:25                                     ` Michael S. Tsirkin
2009-09-15 21:39                                     ` Gregory Haskins
2009-09-15 21:39                                     ` Gregory Haskins
2009-09-15 21:38                                       ` Michael S. Tsirkin
2009-09-15 21:38                                         ` Michael S. Tsirkin
2009-09-15 21:55                                         ` Gregory Haskins
2009-09-15 21:55                                         ` Gregory Haskins
2009-09-15 21:38                                       ` Michael S. Tsirkin
2009-09-16 14:57                                     ` Arnd Bergmann
2009-09-16 14:57                                       ` Arnd Bergmann
2009-09-16 15:13                                       ` Michael S. Tsirkin
2009-09-16 15:13                                       ` Michael S. Tsirkin
2009-09-16 15:13                                         ` Michael S. Tsirkin
2009-09-16 15:22                                         ` Arnd Bergmann
2009-09-16 15:22                                         ` Arnd Bergmann
2009-09-16 15:22                                           ` Arnd Bergmann
2009-09-16 16:08                                           ` Michael S. Tsirkin
2009-09-16 16:08                                           ` Michael S. Tsirkin
2009-09-16 16:08                                             ` Michael S. Tsirkin
2009-09-16 14:57                                     ` Arnd Bergmann
2009-09-15 21:25                                   ` Michael S. Tsirkin
2009-09-15 20:40                               ` Michael S. Tsirkin
2009-09-16  8:23                               ` Avi Kivity
2009-09-16  8:23                                 ` Avi Kivity
2009-09-16 11:44                                 ` Gregory Haskins
2009-09-16 13:05                                   ` Avi Kivity
2009-09-16 13:05                                     ` Avi Kivity
2009-09-16 14:10                                     ` Gregory Haskins
2009-09-16 15:59                                       ` Avi Kivity
2009-09-16 15:59                                       ` Avi Kivity
2009-09-16 15:59                                         ` Avi Kivity
2009-09-16 19:22                                         ` Gregory Haskins
2009-09-16 21:00                                           ` Avi Kivity
2009-09-16 21:00                                           ` Avi Kivity
2009-09-16 21:00                                             ` Avi Kivity
2009-09-17  3:11                                             ` Gregory Haskins
2009-09-17  7:49                                               ` Avi Kivity
2009-09-17  7:49                                                 ` Avi Kivity
2009-09-17  7:49                                               ` Avi Kivity
2009-09-17 14:16                                               ` Javier Guerra
2009-09-17 14:16                                               ` Javier Guerra
2009-09-17 14:16                                                 ` Javier Guerra
2009-09-21 21:43                                               ` Ira W. Snyder
2009-09-21 21:43                                               ` Ira W. Snyder
2009-09-21 21:43                                                 ` Ira W. Snyder
2009-09-22  9:43                                                 ` Avi Kivity
2009-09-22  9:43                                                 ` Avi Kivity
2009-09-22  9:43                                                   ` Avi Kivity
2009-09-22 15:25                                                   ` Ira W. Snyder
2009-09-22 15:25                                                     ` Ira W. Snyder
2009-09-22 15:56                                                     ` Avi Kivity
2009-09-22 15:56                                                       ` Avi Kivity
2009-09-22 15:56                                                     ` Avi Kivity
2009-09-22 15:25                                                   ` Ira W. Snyder
2009-09-23 14:26                                                   ` Gregory Haskins
2009-09-23 14:37                                                     ` Avi Kivity
2009-09-23 14:37                                                       ` Avi Kivity
2009-09-23 15:10                                                       ` Gregory Haskins
2009-09-23 17:58                                                         ` Gregory Haskins
2009-09-23 17:58                                                         ` Gregory Haskins
2009-09-23 19:37                                                           ` Avi Kivity
2009-09-23 19:37                                                           ` Avi Kivity
2009-09-23 19:37                                                             ` Avi Kivity
2009-09-23 21:15                                                             ` Gregory Haskins
2009-09-23 21:15                                                             ` Gregory Haskins
2009-09-24  7:18                                                               ` Avi Kivity
2009-09-24  7:18                                                                 ` Avi Kivity
2009-09-24 18:03                                                                 ` Gregory Haskins
2009-09-24 18:03                                                                 ` Gregory Haskins
2009-09-25  8:22                                                                   ` Avi Kivity
2009-09-25  8:22                                                                     ` Avi Kivity
2009-09-25 21:32                                                                     ` Gregory Haskins
2009-09-27  9:43                                                                       ` Avi Kivity
2009-09-27  9:43                                                                       ` Avi Kivity
2009-09-27  9:43                                                                         ` Avi Kivity
2009-09-30 20:04                                                                         ` Gregory Haskins
2009-10-01  8:34                                                                           ` Avi Kivity
2009-10-01  8:34                                                                           ` Avi Kivity
2009-10-01  8:34                                                                             ` Avi Kivity
2009-10-01  8:34                                                                             ` Avi Kivity
2009-10-01  9:28                                                                             ` Michael S. Tsirkin
2009-10-01  9:28                                                                               ` Michael S. Tsirkin
2009-10-01  9:28                                                                             ` Michael S. Tsirkin
2009-10-01 19:24                                                                             ` Gregory Haskins
2009-10-03 10:00                                                                               ` Avi Kivity
2009-10-03 10:00                                                                                 ` Avi Kivity
2009-10-03 10:00                                                                               ` Avi Kivity
2009-10-01 19:24                                                                             ` Gregory Haskins
2009-09-30 20:04                                                                         ` Gregory Haskins
2009-09-25 21:32                                                                     ` Gregory Haskins
2009-09-25  8:22                                                                   ` Avi Kivity
2009-09-24 19:27                                                                 ` Ira W. Snyder
2009-09-24 19:27                                                                 ` Ira W. Snyder
2009-09-24 19:27                                                                   ` Ira W. Snyder
2009-09-25  7:43                                                                   ` Avi Kivity
2009-09-25  7:43                                                                   ` Avi Kivity
2009-09-25  7:43                                                                     ` Avi Kivity
2009-09-24  7:18                                                               ` Avi Kivity
2009-09-24  8:03                                                             ` Avi Kivity
2009-09-24  8:03                                                             ` Avi Kivity
2009-09-24  8:03                                                               ` Avi Kivity
2009-09-24 18:04                                                               ` Gregory Haskins
2009-09-24 18:04                                                               ` Gregory Haskins
2009-09-23 15:10                                                       ` Gregory Haskins
2009-09-23 14:37                                                     ` Avi Kivity [this message]
2009-09-23 14:26                                                   ` Gregory Haskins
2009-09-17  3:11                                             ` Gregory Haskins
2009-09-16 19:22                                         ` Gregory Haskins
2009-09-17  3:57                                       ` Michael S. Tsirkin
2009-09-17  3:57                                       ` Michael S. Tsirkin
2009-09-17  3:57                                         ` Michael S. Tsirkin
2009-09-17  4:13                                         ` Gregory Haskins
2009-09-17  4:13                                         ` Gregory Haskins
2009-09-16 14:10                                     ` Gregory Haskins
2009-09-16 14:10                                     ` Gregory Haskins
2009-09-16 13:05                                   ` Avi Kivity
2009-09-16 11:44                                 ` Gregory Haskins
2009-09-16  8:23                               ` Avi Kivity
2009-09-15 13:25                       ` Avi Kivity
2009-09-14 19:14                 ` Gregory Haskins
2009-09-15 12:32                 ` Avi Kivity
2009-09-15 12:32                 ` Avi Kivity
2009-09-15 12:32                   ` Avi Kivity
2009-09-14 16:53               ` Michael S. Tsirkin
2009-09-14 16:53               ` Michael S. Tsirkin
2009-09-14 16:53                 ` Michael S. Tsirkin
2009-09-14 19:28                 ` Gregory Haskins
2009-09-14 19:28                 ` Gregory Haskins
2009-09-14 16:08             ` Gregory Haskins
2009-09-11 16:00         ` Gregory Haskins
2009-09-08 17:20       ` Ira W. Snyder
2009-09-25 17:01   ` Ira W. Snyder
2009-09-25 17:01   ` Ira W. Snyder
2009-09-25 17:01     ` Ira W. Snyder
2009-09-27  7:43     ` Michael S. Tsirkin
2009-09-27  7:43     ` Michael S. Tsirkin
2009-09-27  7:43       ` Michael S. Tsirkin
2009-08-27 16:07 ` Michael S. Tsirkin
     [not found] <E88DD564E9DC5446A76B2B47C3BCCA150219600F9B@pdsmsx503.ccr.corp.intel.com>
2009-08-31 11:42 ` Xin, Xiaohui
2009-08-31 11:42   ` Xin, Xiaohui
2009-08-31 11:42   ` Xin, Xiaohui
2009-08-31 15:23   ` Arnd Bergmann
2009-08-31 15:23     ` Arnd Bergmann
2009-09-01 14:58     ` Xin, Xiaohui
2009-09-01 14:58       ` Xin, Xiaohui
2009-09-01 14:58     ` Xin, Xiaohui
2009-08-31 15:23   ` Arnd Bergmann
2009-08-31 17:52   ` Avi Kivity
2009-08-31 17:52     ` Avi Kivity
2009-08-31 21:56     ` Anthony Liguori
2009-08-31 21:56     ` Anthony Liguori
2009-08-31 21:56       ` Anthony Liguori
2009-09-01 15:37       ` Xin, Xiaohui
2009-09-01 15:37       ` Xin, Xiaohui
2009-09-01 15:37         ` Xin, Xiaohui
2009-09-01  5:04     ` Xin, Xiaohui
2009-09-01  5:04       ` Xin, Xiaohui
2009-09-01  5:04     ` Xin, Xiaohui
2009-08-31 17:52   ` Avi Kivity
2009-08-31 11:42 ` Xin, Xiaohui
2009-08-31 11:42 ` Xin, Xiaohui

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='4ABA32AF.50602__5808.82849540121$1253716895$gmane$org@redhat.com' \
    --to=avi@redhat.com \
    --cc=akpm@linux-foundation.org \
    --cc=alacrityvm-devel@lists.sourceforge.net \
    --cc=gregory.haskins@gmail.com \
    --cc=hpa@zytor.com \
    --cc=iws@ovro.caltech.edu \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mingo@elte.hu \
    --cc=mst@redhat.com \
    --cc=netdev@vger.kernel.org \
    --cc=s.hetze@linux-ag.com \
    --cc=virtualization@lists.linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.