From: "Daniel P. Berrangé" <berrange@redhat.com>
To: Eduardo Habkost <ehabkost@redhat.com>
Cc: Andrea Bolognani <abologna@redhat.com>,
Cole Robinson <crobinso@redhat.com>,
libvirt-list@redhat.com, qemu-devel@nongnu.org,
"Michael S. Tsirkin" <mst@redhat.com>
Subject: Re: [Qemu-devel] [libvirt] [PATCH 4/6] qemu: Wire up disk model=virtio-{non-}transitional
Date: Wed, 16 Jan 2019 15:40:42 +0000 [thread overview]
Message-ID: <20190116154042.GA20275@redhat.com> (raw)
In-Reply-To: <20190116144543.GA14807@habkost.net>
On Wed, Jan 16, 2019 at 12:45:43PM -0200, Eduardo Habkost wrote:
> On Wed, Jan 16, 2019 at 02:37:22PM +0000, Daniel P. Berrangé wrote:
> > On Wed, Jan 16, 2019 at 03:31:49PM +0100, Andrea Bolognani wrote:
> > > On Wed, 2019-01-16 at 12:44 +0000, Daniel P. Berrangé wrote:
> > > > On Wed, Jan 16, 2019 at 01:29:13PM +0100, Andrea Bolognani wrote:
> > > > > On Wed, 2019-01-16 at 11:39 +0000, Daniel P. Berrangé wrote:
> > > > > > In the
> > > > > > future they may add properties to, or change the defaults on, the
> > > > > > -transitional or -non-transitional devices only, associated with
> > > > > > new machine type versions. If libvirt forever uses the old devices,
> > > > > > then we loose ability to take advantage of that.
> > > > >
> > > > > Regardless of what libvirt ends up doing, from the QEMU user point
> > > > > of view I think it would be very surprising if eg. virtio-blk-pci
> > > > > plugged into a PCIe slot behaved differently from
> > > > > virtio-blk-pci-non-transitional plugged into the very same slot, or
> > > > > if virtio-net-pci,disable-legacy=false,disable-modern=false behaved
> > > > > differently from virtio-net-pci-transitional regardless of the slot
> > > > > it's plugged into, so moving away from that consistency should be a
> > > > > non-goal IMHO.
> > > > >
> > > [...]
> > > >
> > > > In this message Eduardo said virtio-blk-pci,disable-legacy and
> > > > virtio-blk-pci-non-transitional are only compatible with the
> > > > pc-4.0 machine types and earlier. There's no compat guarantee
> > > > of compat for future machine types:
> > > >
> > > > https://lists.gnu.org/archive/html/qemu-devel/2018-11/msg03762.html
> > > >
> > > > If we didn't use the new QEMU device models right now, we could end
> > > > up trapped forever. The safe futureproof approach is to always use
> > > > the new devices models if available, and use disable-legacy for old
> > > > QEMU versions only, which we know will have old machine types for
> > > > which the compat guarantee is available.
> > >
> > > Well, let's see if Eduardo is willing to reconsider the policy on
> > > compatibility between virtio-*-pci-{,non-}transitional and plain
> > > virtio-*-pci going forward based on the principle-of-least-surprise
> > > rationale outlined above :)
> >
> > I think we should use the new devices no matter what. Libvirt generally
> > always strives to follow the latest QEMU best practice, even when new &
> > old way of doing something are functionally identical. Eventually we
> > would drop support for QEU < 4.0 and the old way would go away entirely.
>
> It would also allow us to deprecate the old devices, which would
> be welcome. Always using the new devices when available would be
> my recommendation.
I don't really see QEMU upstream deprecating the old devices any
time. There is sooooo much documentation that refers to them that
will never be fixed. 99% of users won't get any benefit from using
the new devices either, so there's no compelling reason to update
their existing configs or docs. They're not going to be a huge maint
burden to QEMU devs either given its just a toggle of a few props.
I might see a downstream distro deprecating them at some point
though, since they have a much tighter controlled usage scenario
than upstream.
> But I don't want to create unnecessary obstacles for libvirt, so
> if there's a real benefit in promising compatibility between both
> device types, we can still promise that on the QEMU side.
I don't think there's an obstacle for libvirt, as I don't see any
compelling reason to avoid the new devices when we have QEMU >= 4.0.
> Breaking compatibility on purpose is very unlikely, and the most
> likely accidents could be detected by
> tests/acceptance/virtio_version.py.
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
next prev parent reply other threads:[~2019-01-16 15:41 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <cover.1547420060.git.crobinso@redhat.com>
[not found] ` <1ac81ba920b03d153f80236fea5aa81321e054fa.1547420060.git.crobinso@redhat.com>
[not found] ` <20190115165614.GL16157@redhat.com>
[not found] ` <624086124c9a2673c627203f3310fd63495e00c0.camel@redhat.com>
[not found] ` <20190116113953.GO20275@redhat.com>
[not found] ` <d3fd5d3bf9a6823b24756b4f376e20903ac1a575.camel@redhat.com>
[not found] ` <20190116124445.GS20275@redhat.com>
[not found] ` <2b4954e50ad51e7b3bdaf6b7b183254e2a1cd70d.camel@redhat.com>
[not found] ` <20190116143722.GY20275@redhat.com>
2019-01-16 14:45 ` [Qemu-devel] [libvirt] [PATCH 4/6] qemu: Wire up disk model=virtio-{non-}transitional Eduardo Habkost
2019-01-16 15:40 ` Daniel P. Berrangé [this message]
2019-01-16 16:24 ` Andrea Bolognani
2019-01-16 23:24 ` Eduardo Habkost
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=20190116154042.GA20275@redhat.com \
--to=berrange@redhat.com \
--cc=abologna@redhat.com \
--cc=crobinso@redhat.com \
--cc=ehabkost@redhat.com \
--cc=libvirt-list@redhat.com \
--cc=mst@redhat.com \
--cc=qemu-devel@nongnu.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;
as well as URLs for NNTP newsgroup(s).