qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Anthony Liguori <anthony@codemonkey.ws>
Cc: Krishna Kumar2 <krkumar2@in.ibm.com>,
	lmr@redhat.com, "Xin, Xiaohui" <xiaohui.xin@intel.com>,
	Shirley Ma <mashirle@us.ibm.com>,
	akong@redhat.com, kvm@vger.kernel.org, sriram.narasimhan@hp.com,
	netdev@vger.kernel.org, Jason Wang <jasowang@redhat.com>,
	Rusty Russell <rusty@rustcorp.com.au>,
	virtualization@lists.linux-foundation.org,
	David Stevens <dlstevens@us.ibm.com>,
	qemu-devel@nongnu.org, vyasevic@redhat.com,
	herbert@gondor.hengli.com.au, jdike@linux.intel.com,
	sri@linux.vnet.ibm.com
Subject: Re: [Qemu-devel] updated: kvm networking todo wiki
Date: Wed, 29 May 2013 17:12:39 +0300	[thread overview]
Message-ID: <20130529141239.GB10347@redhat.com> (raw)
In-Reply-To: <87k3miq6sw.fsf@codemonkey.ws>

On Wed, May 29, 2013 at 08:01:03AM -0500, Anthony Liguori wrote:
> Rusty Russell <rusty@rustcorp.com.au> writes:
> 
> > "Michael S. Tsirkin" <mst@redhat.com> writes:
> >> On Fri, May 24, 2013 at 08:47:58AM -0500, Anthony Liguori wrote:
> >>> "Michael S. Tsirkin" <mst@redhat.com> writes:
> >>> 
> >>> > On Fri, May 24, 2013 at 05:41:11PM +0800, Jason Wang wrote:
> >>> >> On 05/23/2013 04:50 PM, Michael S. Tsirkin wrote:
> >>> >> > Hey guys,
> >>> >> > I've updated the kvm networking todo wiki with current projects.
> >>> >> > Will try to keep it up to date more often.
> >>> >> > Original announcement below.
> >>> >> 
> >>> >> Thanks a lot. I've added the tasks I'm currently working on to the wiki.
> >>> >> 
> >>> >> btw. I notice the virtio-net data plane were missed in the wiki. Is the
> >>> >> project still being considered?
> >>> >
> >>> > It might have been interesting several years ago, but now that linux has
> >>> > vhost-net in kernel, the only point seems to be to
> >>> > speed up networking on non-linux hosts.
> >>> 
> >>> Data plane just means having a dedicated thread for virtqueue processing
> >>> that doesn't hold qemu_mutex.
> >>> 
> >>> Of course we're going to do this in QEMU.  It's a no brainer.  But not
> >>> as a separate device, just as an improvement to the existing userspace
> >>> virtio-net.
> >>> 
> >>> > Since non-linux does not have kvm, I doubt virtio is a bottleneck.
> >>> 
> >>> FWIW, I think what's more interesting is using vhost-net as a networking
> >>> backend with virtio-net in QEMU being what's guest facing.
> >>> 
> >>> In theory, this gives you the best of both worlds: QEMU acts as a first
> >>> line of defense against a malicious guest while still getting the
> >>> performance advantages of vhost-net (zero-copy).
> >>
> >> Great idea, that sounds very intresting.
> >>
> >> I'll add it to the wiki.
> >>
> >> In fact a bit of complexity in vhost was put there in the vague hope to
> >> support something like this: virtio rings are not translated through
> >> regular memory tables, instead, vhost gets a pointer to ring address.
> >>
> >> This allows qemu acting as a man in the middle,
> >> verifying the descriptors but not touching the
> >>
> >> Anyone interested in working on such a project?
> >
> > It would be an interesting idea if we didn't already have the vhost
> > model where we don't need the userspace bounce.
> 
> The model is very interesting for QEMU because then we can use vhost as
> a backend for other types of network adapters (like vmxnet3 or even
> e1000).
> 
> It also helps for things like fault tolerance where we need to be able
> to control packet flow within QEMU.
> 
> Regards,
> 
> Anthony Liguori

It was also floated as an alternative way to do live migration.

> > We already have two
> > sets of host side ring code in the kernel (vhost and vringh, though
> > they're being unified).
> >
> > All an accelerator can offer on the tx side is zero copy and direct
> > update of the used ring.  On rx userspace could register the buffers and
> > the accelerator could fill them and update the used ring.  It still
> > needs to deal with merged buffers, for example.
> >
> > You avoid the address translation in the kernel, but I'm not convinced
> > that's a key problem.
> >
> > Cheers,
> > Rusty.

  reply	other threads:[~2013-05-29 14:13 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-23  8:50 [Qemu-devel] updated: kvm networking todo wiki Michael S. Tsirkin
2013-05-23 14:12 ` Lucas Meneghel Rodrigues
2013-05-24  9:41 ` Jason Wang
2013-05-24 11:35   ` Michael S. Tsirkin
2013-05-24 13:47     ` Anthony Liguori
2013-05-24 14:00       ` Michael S. Tsirkin
2013-05-29  0:07         ` Rusty Russell
2013-05-29 13:01           ` Anthony Liguori
2013-05-29 14:12             ` Michael S. Tsirkin [this message]
2013-05-30  5:23             ` Rusty Russell
2013-05-30  6:38               ` Stefan Hajnoczi
2013-05-30  7:18                 ` Rusty Russell
2013-05-30 13:40                 ` Anthony Liguori
2013-05-30 13:44                   ` Michael S. Tsirkin
2013-05-30 14:41                     ` Anthony Liguori
2013-06-03  0:32                       ` Rusty Russell
2013-05-30 13:39               ` Anthony Liguori

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=20130529141239.GB10347@redhat.com \
    --to=mst@redhat.com \
    --cc=akong@redhat.com \
    --cc=anthony@codemonkey.ws \
    --cc=dlstevens@us.ibm.com \
    --cc=herbert@gondor.hengli.com.au \
    --cc=jasowang@redhat.com \
    --cc=jdike@linux.intel.com \
    --cc=krkumar2@in.ibm.com \
    --cc=kvm@vger.kernel.org \
    --cc=lmr@redhat.com \
    --cc=mashirle@us.ibm.com \
    --cc=netdev@vger.kernel.org \
    --cc=qemu-devel@nongnu.org \
    --cc=rusty@rustcorp.com.au \
    --cc=sri@linux.vnet.ibm.com \
    --cc=sriram.narasimhan@hp.com \
    --cc=virtualization@lists.linux-foundation.org \
    --cc=vyasevic@redhat.com \
    --cc=xiaohui.xin@intel.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).