From: Arnd Bergmann <arnd@arndb.de>
To: "Michael S. Tsirkin" <mst@redhat.com>
Cc: virtualization@lists.linux-foundation.org,
netdev@vger.kernel.org, kvm@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2/2] vhost_net: a kernel-level virtio server
Date: Mon, 10 Aug 2009 22:16:22 +0000 [thread overview]
Message-ID: <200908102216.22410.arnd@arndb.de> (raw)
In-Reply-To: <20090810201044.GA16899@redhat.com>
On Monday 10 August 2009 20:10:44 Michael S. Tsirkin wrote:
> On Mon, Aug 10, 2009 at 09:51:18PM +0200, Arnd Bergmann wrote:
> > what is the difference between vhost_net_reset_owner(n)
> > and vhost_net_set_socket(n, -1)?
>
> set socket to -1 will only stop the device.
>
> reset owner will let another process take over the device.
> It also needs to reset all parameters to make it safe for that
> other process, so in particular the device is stopped.
ok
> I tried explaining this in the header vhost.h - does the comment
> there help, or do I need to clarify it?
No, I just didn't get there yet.
> I had the impression that if there's no compat_ioctl,
> unlocked_ioctl will get called automatically. No?
It will issue a kernel warning but not call unlocked_ioctl,
so you need either a compat_ioctl method or list the numbers
in fs/compat_ioctl.c, which I try to avoid.
> > Why do you need a kernel thread here? If the data transfer functions
> > all get called from a guest intercept, shouldn't you already be
> > in the right mm?
>
> several reasons :)
> - I get called under lock, so can't block
> - eventfd can be passed to another process, and I won't be in guest context at all
> - this also gets called outside guest context from socket poll
> - vcpu is blocked while it's doing i/o. it is better to free it up
> as all the packet copying might take a while
Ok.
> > I guess that this is where one could plug into macvlan directly, using
> > sock_alloc_send_skb/memcpy_fromiovec/dev_queue_xmit directly,
> > instead of filling a msghdr for each, if we want to combine this
> > with the work I did on that.
>
> quite possibly. Or one can just bind a raw socket to macvlan :)
Right, that works as well, but may get more complicated once we
try to add zero-copy or other optimizations.
Arnd <><
next prev parent reply other threads:[~2009-08-10 22:16 UTC|newest]
Thread overview: 65+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <cover.1249930169.git.mst@redhat.com>
2009-08-10 18:53 ` [PATCH 1/2] export cpu_tlbstate to modules Michael S. Tsirkin
2009-08-10 18:53 ` Michael S. Tsirkin
2009-08-10 21:56 ` H. Peter Anvin
2009-08-10 21:56 ` H. Peter Anvin
2009-08-10 22:06 ` Michael S. Tsirkin
2009-08-10 22:06 ` Michael S. Tsirkin
2009-08-10 22:24 ` H. Peter Anvin
2009-08-11 11:19 ` Michael S. Tsirkin
2009-08-11 11:19 ` Michael S. Tsirkin
2009-08-11 11:19 ` Michael S. Tsirkin
2009-08-10 22:24 ` H. Peter Anvin
2009-08-10 18:53 ` [PATCH 2/2] vhost_net: a kernel-level virtio server Michael S. Tsirkin
2009-08-10 18:53 ` Michael S. Tsirkin
2009-08-10 19:51 ` Arnd Bergmann
2009-08-10 20:10 ` Michael S. Tsirkin
2009-08-10 20:10 ` Michael S. Tsirkin
2009-08-10 22:16 ` Arnd Bergmann
2009-08-10 22:16 ` Arnd Bergmann [this message]
2009-08-10 19:51 ` Arnd Bergmann
2009-08-12 17:03 ` Arnd Bergmann
2009-08-12 17:19 ` Ira W. Snyder
2009-08-12 17:31 ` Michael S. Tsirkin
2009-08-12 17:31 ` Michael S. Tsirkin
2009-08-12 17:48 ` Ira W. Snyder
2009-08-12 17:48 ` Ira W. Snyder
2009-08-13 5:55 ` Michael S. Tsirkin
2009-08-13 5:55 ` Michael S. Tsirkin
2009-08-12 17:19 ` Ira W. Snyder
2009-08-12 17:21 ` Michael S. Tsirkin
2009-08-12 17:59 ` Arnd Bergmann
2009-08-12 19:27 ` Anthony Liguori
2009-08-13 6:31 ` Michael S. Tsirkin
2009-08-13 6:31 ` Michael S. Tsirkin
2009-08-12 19:27 ` Anthony Liguori
2009-08-13 6:06 ` Michael S. Tsirkin
2009-08-13 6:06 ` Michael S. Tsirkin
2009-08-13 13:38 ` Arnd Bergmann
2009-08-13 13:48 ` Arnd Bergmann
2009-08-13 13:48 ` Arnd Bergmann
2009-08-13 14:41 ` Michael S. Tsirkin
2009-08-13 14:41 ` Michael S. Tsirkin
2009-08-13 14:53 ` Arnd Bergmann
2009-08-13 15:37 ` Avi Kivity
2009-08-13 15:37 ` Avi Kivity
2009-08-20 7:25 ` Rusty Russell
2009-08-20 7:25 ` Rusty Russell
2009-08-13 14:53 ` Arnd Bergmann
2009-08-13 14:39 ` Michael S. Tsirkin
2009-08-13 14:58 ` Arnd Bergmann
2009-08-13 14:58 ` Arnd Bergmann
2009-08-13 15:03 ` Michael S. Tsirkin
2009-08-13 15:03 ` Michael S. Tsirkin
2009-08-13 14:39 ` Michael S. Tsirkin
2009-08-13 13:38 ` Arnd Bergmann
2009-08-12 17:59 ` Arnd Bergmann
2009-08-12 19:22 ` Anthony Liguori
2009-08-13 8:45 ` Michael S. Tsirkin
2009-08-13 8:45 ` Michael S. Tsirkin
2009-08-13 13:45 ` Arnd Bergmann
2009-08-13 13:45 ` Arnd Bergmann
2009-08-12 19:22 ` Anthony Liguori
2009-08-12 17:21 ` Michael S. Tsirkin
2009-08-12 17:03 ` Arnd Bergmann
2009-08-12 19:58 ` Paul E. McKenney
2009-08-12 19:58 ` Paul E. McKenney
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=200908102216.22410.arnd@arndb.de \
--to=arnd@arndb.de \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mst@redhat.com \
--cc=netdev@vger.kernel.org \
--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.