On Mon, 19 Nov 2018 13:42:58 -0500
"Michael S. Tsirkin" <mst(a)redhat.com> wrote:
On Mon, Nov 19, 2018 at 07:32:38PM +0100, Cornelia Huck wrote:
> On Mon, 19 Nov 2018 13:07:59 -0500
> "Michael S. Tsirkin" <mst(a)redhat.com> wrote:
> > And I strongly believe command line users really really do
not want all
> > this mess. Even adding "pci" is the name confuses people (what are
the
> > other options?). For command line model=virtio is pretty much perfect.
>
> I'd argue that it's problematic on platforms where you have different
> options for virtio transports. What does "model=virtio" mean? Always
> virtio-pci, if available? Or rather virtio-<transport>, with
> <transport> being the best option for the machine?
Most people don't care, for them it's "whatever works".
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.)
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...)