From: Stefano Garzarella <sgarzare@redhat.com>
To: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Jason Wang <jasowang@redhat.com>,
Stefan Hajnoczi <stefanha@redhat.com>,
virtualization@lists.linux-foundation.org,
netdev@vger.kernel.org
Subject: Re: [RFC] virtio-net: share receive_*() and add_recvbuf_*() with virtio-vsock
Date: Tue, 16 Jul 2019 12:22:13 +0200 [thread overview]
Message-ID: <20190716102213.b6lerchbwm7rwz54@steredhat> (raw)
In-Reply-To: <20190716055837-mutt-send-email-mst@kernel.org>
On Tue, Jul 16, 2019 at 06:01:33AM -0400, Michael S. Tsirkin wrote:
> On Tue, Jul 16, 2019 at 11:40:24AM +0200, Stefano Garzarella wrote:
> > On Mon, Jul 15, 2019 at 01:50:28PM -0400, Michael S. Tsirkin wrote:
> > > On Mon, Jul 15, 2019 at 09:44:16AM +0200, Stefano Garzarella wrote:
> > > > On Fri, Jul 12, 2019 at 06:14:39PM +0800, Jason Wang wrote:
> >
> > [...]
> >
> > > > >
> > > > >
> > > > > I think it's just a branch, for ethernet, go for networking stack. otherwise
> > > > > go for vsock core?
> > > > >
> > > >
> > > > Yes, that should work.
> > > >
> > > > So, I should refactor the functions that can be called also from the vsock
> > > > core, in order to remove "struct net_device *dev" parameter.
> > > > Maybe creating some wrappers for the network stack.
> > > >
> > > > Otherwise I should create a fake net_device for vsock_core.
> > > >
> > > > What do you suggest?
> > >
> > > Neither.
> > >
> > > I think what Jason was saying all along is this:
> > >
> > > virtio net doesn't actually lose packets, at least most
> > > of the time. And it actually most of the time
> > > passes all packets to host. So it's possible to use a virtio net
> > > device (possibly with a feature flag that says "does not lose packets,
> > > all packets go to host") and build vsock on top.
> >
> > Yes, I got it after the latest Jason's reply.
> >
> > >
> > > and all of this is nice, but don't expect anything easy,
> > > or any quick results.
> >
> > I expected this... :-(
> >
> > >
> > > Also, in a sense it's a missed opportunity: we could cut out a lot
> > > of fat and see just how fast can a protocol that is completely
> > > new and separate from networking stack go.
> >
> > In this case, if we will try to do a PoC, what do you think is better?
> > 1. new AF_VSOCK + network-stack + virtio-net modified
> > Maybe it is allow us to reuse a lot of stuff already written,
> > but we will go through the network stack
> >
> > 2. new AF_VSOCK + glue + virtio-net modified
> > Intermediate approach, similar to Jason's proposal
> >
> > 3, new AF_VSOCK + new virtio-vsock
> > Can be the thinnest, but we have to rewrite many things, with the risk
> > of making the same mistakes as the current implementation.
> >
>
> 1 or 3 imho. I wouldn't expect a lot from 2. I slightly favor 3 and
> Jason 1. So take your pick :)
>
Yes, I agree :)
Maybe "Jason 1" could be the short term (and an opportunity to study better the
code and sources of overhead) and "new AF_VSOCK + new virtio-vsock" the long
term goal with the multi-transport support in mind.
Thank you so much for your guidance and useful advice,
Stefano
prev parent reply other threads:[~2019-07-16 10:22 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-07-10 15:37 [RFC] virtio-net: share receive_*() and add_recvbuf_*() with virtio-vsock Stefano Garzarella
2019-07-11 7:37 ` Jason Wang
2019-07-11 11:41 ` Stefano Garzarella
2019-07-11 19:52 ` Michael S. Tsirkin
2019-07-12 10:00 ` Stefano Garzarella
2019-07-12 10:14 ` Jason Wang
2019-07-15 7:44 ` Stefano Garzarella
2019-07-15 9:16 ` Jason Wang
2019-07-15 10:42 ` Stefano Garzarella
2019-07-15 17:50 ` Michael S. Tsirkin
2019-07-16 9:40 ` Stefano Garzarella
2019-07-16 10:01 ` Michael S. Tsirkin
2019-07-16 10:22 ` Stefano Garzarella [this message]
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=20190716102213.b6lerchbwm7rwz54@steredhat \
--to=sgarzare@redhat.com \
--cc=jasowang@redhat.com \
--cc=mst@redhat.com \
--cc=netdev@vger.kernel.org \
--cc=stefanha@redhat.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox