[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20180128150237.35237d84@xeon-e3>
Date: Sun, 28 Jan 2018 15:02:37 -0800
From: Stephen Hemminger <stephen@...workplumber.org>
To: Jakub Kicinski <kubakici@...pl>
Cc: "Samudrala, Sridhar" <sridhar.samudrala@...el.com>,
"Michael S. Tsirkin" <mst@...hat.com>,
Siwei Liu <loseweigh@...il.com>,
David Miller <davem@...emloft.net>,
Netdev <netdev@...r.kernel.org>,
virtualization@...ts.linux-foundation.org,
virtio-dev@...ts.oasis-open.org,
"Brandeburg, Jesse" <jesse.brandeburg@...el.com>,
Alexander Duyck <alexander.h.duyck@...el.com>
Subject: Re: [virtio-dev] Re: [RFC PATCH net-next v2 2/2] virtio_net: Extend
virtio to use VF datapath when available
On Fri, 26 Jan 2018 18:30:03 -0800
Jakub Kicinski <kubakici@...pl> wrote:
> On Fri, 26 Jan 2018 15:30:35 -0800, Samudrala, Sridhar wrote:
> > On 1/26/2018 2:47 PM, Jakub Kicinski wrote:
> > > On Sat, 27 Jan 2018 00:14:20 +0200, Michael S. Tsirkin wrote:
> > >> On Fri, Jan 26, 2018 at 01:46:42PM -0800, Siwei Liu wrote:
> > >>>> and the VM is not expected to do any tuning/optimizations on the VF driver
> > >>>> directly,
> > >>>> i think the current patch that follows the netvsc model of 2 netdevs(virtio
> > >>>> and vf) should
> > >>>> work fine.
> > >>> OK. For your use case that's fine. But that's too specific scenario
> > >>> with lots of restrictions IMHO, perhaps very few users will benefit
> > >>> from it, I'm not sure. If you're unwilling to move towards it, we'd
> > >>> take this one and come back with a generic solution that is able to
> > >>> address general use cases for VF/PT live migration .
> > >> I think that's a fine approach. Scratch your own itch! I imagine a very
> > >> generic virtio-switchdev providing host routing info to guests could
> > >> address lots of usecases. A driver could bind to that one and enslave
> > >> arbitrary other devices. Sounds reasonable.
> > >>
> > >> But given the fundamental idea of a failover was floated at least as
> > >> early as 2013, and made 0 progress since precisely because it kept
> > >> trying to address more and more features, and given netvsc is already
> > >> using the basic solution with some success, I'm not inclined to block
> > >> this specific effort waiting for the generic one.
> > > I think there is an agreement that the extra netdev will be useful for
> > > more advanced use cases, and is generally preferable. What is the
> > > argument for not doing that from the start? If it was made I must have
> > > missed it. Is it just unwillingness to write the extra 300 lines of
> > > code? Sounds like a pretty weak argument when adding kernel ABI is at
> > > stake...
> >
> > I am still not clear on the need for the extra netdev created by
> > virtio_net. The only advantage i can see is that the stats can be
> > broken between VF and virtio datapaths compared to the aggregrated
> > stats on virtio netdev as seen with the 2 netdev approach.
>
> Maybe you're not convinced but multiple arguments were made.
>
> > With 2 netdev model, any VM image that has a working network
> > configuration will transparently get VF based acceleration without
> > any changes.
>
> Nothing happens transparently. Things may happen automatically. The
> VF netdev doesn't disappear with netvsc. The PV netdev transforms into
> something it did not use to be. And configures and reports some
> information from the PV (e.g. speed) but PV doesn't pass traffic any
> longer.
>
> > 3 netdev model breaks this configuration starting with the creation
> > and naming of the 2 devices to udev needing to be aware of master and
> > slave virtio-net devices.
>
> I don't understand this comment. There is one virtio-net device and
> one "virtio-bond" netdev. And user space has to be aware of the special
> automatic arrangement anyway, because it can't touch the VF. It
> doesn't make any difference whether it ignores the VF or PV and VF.
> It simply can't touch the slaves, no matter how many there are.
>
> > Also, from a user experience point of view, loading a virtio-net with
> > BACKUP feature enabled will now show 2 virtio-net netdevs.
>
> One virtio-net and one virtio-bond, which represents what's happening.
>
> > For live migration with advanced usecases that Siwei is suggesting, i
> > think we need a new driver with a new device type that can track the
> > VF specific feature settings even when the VF driver is unloaded.
I see no added value of the 3 netdev model, there is no need for a bond
device.
Powered by blists - more mailing lists