From: "Michael S. Tsirkin" <mst@redhat.com>
To: Andrea Bolognani <abologna@redhat.com>
Cc: "Cornelia Huck" <cohuck@redhat.com>,
"Eduardo Habkost" <ehabkost@redhat.com>,
qemu-devel@nongnu.org, Gonglei <arei.gonglei@huawei.com>,
"Paolo Bonzini" <pbonzini@redhat.com>,
"Amit Shah" <amit@kernel.org>, "Cleber Rosa" <crosa@redhat.com>,
"Marcel Apfelbaum" <marcel.apfelbaum@gmail.com>,
"Fam Zheng" <famz@redhat.com>, "Kevin Wolf" <kwolf@redhat.com>,
"Max Reitz" <mreitz@redhat.com>,
"Jason Wang" <jasowang@redhat.com>,
"Wainer dos Santos Moschetta" <wainersm@redhat.com>,
"Philippe Mathieu-Daudé" <philmd@redhat.com>,
libvir-list@redhat.com, "Markus Armbruster" <armbru@redhat.com>,
"Laine Stump" <laine@redhat.com>,
"Stefan Hajnoczi" <stefanha@redhat.com>,
"Gerd Hoffmann" <kraxel@redhat.com>,
"Daniel P. Berrangé" <berrange@redhat.com>,
"Caio Carrara" <ccarrara@redhat.com>
Subject: Re: [Qemu-devel] [PATCH for-4.0 v2] virtio: Provide version-specific variants of virtio PCI devices
Date: Tue, 20 Nov 2018 14:14:56 -0500 [thread overview]
Message-ID: <20181120140251-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <9bc6ced6b0491643775081b8f8437065684e9959.camel@redhat.com>
On Tue, Nov 20, 2018 at 01:27:05PM +0100, Andrea Bolognani wrote:
> On Mon, 2018-11-19 at 14:14 -0500, Michael S. Tsirkin wrote:
> > On Mon, Nov 19, 2018 at 07:56:38PM +0100, Cornelia Huck wrote:
> > > On Mon, 19 Nov 2018 13:42:58 -0500 "Michael S. Tsirkin" <mst@redhat.com> wrote:
> > > > We have this assumption that if we force a choice then people will
> > > > choose the right thing but in practice they will do what we all do, play
> > > > with it until it kind of works and leave well alone afterwards.
> > > > That's at best - at worst give up and use an easier tool.
> > >
> > > That implies that we (the developers) need to care and make sure that
> > > "model=virtio" gets them the best possible transport (i.e. on s390x,
> > > that would be ccw unless the user explicitly requests pci; I'm not sure
> > > what the situation with mmio is -- probably "use pci whenever
> > > possible"?) I think that's what libvirt already gives us today (I hope.)
>
> The interface at the libvirt level is exactly "model=virtio", with
> that ultimately translating to virtio-*-pci or virtio-*-ccw or
> virtio-*-device or whatever else based on the architecture, machine
> type and other information about the guest.
>
> > > What makes it messy on the pci side is that the "best option" actually
> > > depends on what kind of guest the user wants to run (if the guest is
> > > too old, you're stuck with transitional; if you want to reap the
> > > benefits of PCIe, you need non-transitional...)
> >
> > Well it works now - connect it to a bus and it figures out whether it
> > should do transitional or not. You can force transitional in PCIe anyway
> > but then you are limited to about 15 devices - probably sufficient for
> > most people ...
>
> That's not how it works, though: current virtio-*-pci devices will
> be transitional (and thus support older guest OS) or not based on
> the kind of slot you plug them into.
>
> >From the management point of view that's problematic, because libvirt
> (which takes care of the virtual hardware, including assigning PCI
> addresses to devices) has no knowledge of the guest OS running on
> said hardware, and management apps (which know about the guest OS and
> can figure out its capabilities using libosinfo) don't want to be in
> the business of assigning PCI addresses themselves.
>
> Having separate transitional and non-transitional variants solves the
> issue because now management apps can query libosinfo to figure out
> whether the guest OS supports non-transitional virtio devices, and
> based on that they can ask libvirt to use either the transitional or
> non-transitional variant; from that, libvirt will be able to choose
> the correct slot for the device.
>
> None of the above quite works if we have a single variant that
> morphs based on the slot, as we have today.
So can we get an ack on the patchset then?
> --
> Andrea Bolognani / Red Hat / Virtualization
next prev parent reply other threads:[~2018-11-20 19:15 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-11-14 23:38 [Qemu-devel] [PATCH for-4.0 v2] virtio: Provide version-specific variants of virtio PCI devices Eduardo Habkost
2018-11-15 8:40 ` no-reply
2018-11-15 10:05 ` Daniel P. Berrangé
2018-11-15 10:50 ` Cornelia Huck
2018-11-15 10:52 ` Daniel P. Berrangé
2018-11-20 0:44 ` Eduardo Habkost
2018-11-20 10:46 ` Daniel P. Berrangé
2018-11-20 10:52 ` Cornelia Huck
2018-11-20 11:51 ` Eduardo Habkost
2018-11-15 11:21 ` Cornelia Huck
2018-11-15 15:01 ` Cornelia Huck
2018-11-27 0:35 ` Eduardo Habkost
2018-11-15 16:29 ` Andrea Bolognani
2018-11-16 3:45 ` Eduardo Habkost
2018-11-19 10:41 ` Cornelia Huck
2018-11-19 18:07 ` Michael S. Tsirkin
2018-11-19 18:32 ` Cornelia Huck
2018-11-19 18:42 ` Michael S. Tsirkin
2018-11-19 18:56 ` Cornelia Huck
2018-11-19 19:14 ` Michael S. Tsirkin
2018-11-20 12:27 ` Andrea Bolognani
2018-11-20 19:14 ` Michael S. Tsirkin [this message]
2018-11-21 16:20 ` Andrea Bolognani
2018-11-19 21:32 ` Eduardo Habkost
2018-11-20 10:35 ` Cornelia Huck
2018-11-19 21:47 ` Eduardo Habkost
2018-11-20 3:08 ` Michael S. Tsirkin
2018-11-20 3:22 ` 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=20181120140251-mutt-send-email-mst@kernel.org \
--to=mst@redhat.com \
--cc=abologna@redhat.com \
--cc=amit@kernel.org \
--cc=arei.gonglei@huawei.com \
--cc=armbru@redhat.com \
--cc=berrange@redhat.com \
--cc=ccarrara@redhat.com \
--cc=cohuck@redhat.com \
--cc=crosa@redhat.com \
--cc=ehabkost@redhat.com \
--cc=famz@redhat.com \
--cc=jasowang@redhat.com \
--cc=kraxel@redhat.com \
--cc=kwolf@redhat.com \
--cc=laine@redhat.com \
--cc=libvir-list@redhat.com \
--cc=marcel.apfelbaum@gmail.com \
--cc=mreitz@redhat.com \
--cc=pbonzini@redhat.com \
--cc=philmd@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.com \
--cc=wainersm@redhat.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).