[libvirt] [RFC] qemu: Use virtio-pci by default for mach-virt guests

Pavel Hrdina phrdina at redhat.com
Mon Oct 24 15:47:19 UTC 2016


On Mon, Oct 24, 2016 at 05:17:07PM +0200, Andrea Bolognani wrote:
> On Sat, 2016-10-22 at 23:07 -0400, Laine Stump wrote:
> > (When I first saw your mail I didn't realize it was a patch, because it 
> > didn't have "PATCH" in the subject)
> 
> Fair enough, will send the next iteration as [RFC PATCH v2] :)
> 
> > I like that this makes pci truly the default in a simple manner, but 
> > still allows switching back to mmio if necessary. On the other hand, it 
> > puts the potential "switch" to decide whether or not to use mmio for all 
> > devices down into the config of a single device, which is a bit weird to 
> > explain. (On the other hand, how often will mmio be used in the future? 
> > Maybe it doesn't matter if it's weird to explain...)
> 
> We really want to push for virtio-pci going forward as it has
> a number of advantages, but there are still legacy guest OSs
> out there that don't support virtio-pci at all yet we still
> want to be able to run.

Changing the default is usually a tricky part and may break some users.
I'm not sure that this will save the need to adapt management applications
and users.  They will have to adapt in both cases to support legacy and
new OSes based on libosinfo or another tool/database.  If we make virtio-pci
the default one, which I think is the way it should be used, they will have
to make sure that with new libvirt for the same OS they will fallback
to virtio-mmio.

From what I can remember we've never done such change of default device
model or default address and we always left it no management application
or user to change the default to better model.  In case of management
applications it's not an issue because they will make sure that the best
device models and device address are used.

I'm not against changing the default to virtio-pci, but we may break
things for some users and management tools like virt-manager unless they
will adapt to this change.
 
> virt-install is already capable of overriding the default
> address type on a per-device basis, eg.
> 
>   --network network=default,model=virtio,address.type=pci
> 
> or
> 
>   --disk size=10,bus=virtio,address.type=virtio-mmio
> 
> I think we should have some sort of global switch that sets
> address.type for all devices, so you don't have to repeat
> yourself. Or does something like that exist already?
> 
> I'm also not sure whether virt-manager is using libosinfo,
> but ideally the default address type would be something that
> can be chosen automatically based on the guest OS. CC'ing
> Cole and Pavel so they can provide some insights.

Virt-manager uses libosinfo and falls back to some sane hardcoded defaults.
This should be definitely added to libosinfo.

Pavel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: Digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20161024/80b1c4ce/attachment-0001.sig>


More information about the libvir-list mailing list