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 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.