The default USB controller of pc machine type
Daniel P. Berrangé
berrange at redhat.com
Fri Jul 15 10:03:11 UTC 2022
On Fri, Jul 15, 2022 at 02:36:36PM +0800, Han Han wrote:
> On Wed, Jul 13, 2022 at 7:04 PM Daniel P. Berrangé <berrange at redhat.com>
> wrote:
>
> > On Wed, Jul 13, 2022 at 07:00:17PM +0800, Han Han wrote:
> > > Hello,
> > > I found that the default USB controller for q35 machine type is qemu-xhci
> > > while for pc it is piix3-uhci. Here are the results(on qemu-kvm-7.0.0
> > > qemu-kvm-7.0.0):
> > > ➜ ~ cat /tmp/usb.xml
> > > <domain type="kvm">
> > > <name>USB</name>
> > > <uuid>1a81d4ef-6537-4ae8-b257-8a15e0c0525f</uuid>
> > > <memory>2097152</memory>
> > > <currentMemory>2097152</currentMemory>
> > > <vcpu>1</vcpu>
> > > <os>
> > > <type arch="x86_64" machine="q35">hvm</type>
> > > <boot dev="hd"/>
> > > </os>
> > > <devices>
> > > <emulator>/usr/libexec/qemu-kvm</emulator>
> > > </devices>
> > > </domain>
> > >
> > > ➜ ~ virsh define /tmp/usb.xml && virsh dumpxml USB|grep usb
> > > Domain 'USB' defined from /tmp/usb.xml
> > >
> > > <controller type='usb' index='0' model='qemu-xhci'>
> > >
> > >
> > > ➜ ~ cat /tmp/usb-pc.xml
> > > <domain type="kvm">
> > > <name>USB</name>
> > > <uuid>1a81d4ef-6537-4ae8-b257-8a15e0c0525f</uuid>
> > > <memory>2097152</memory>
> > > <currentMemory>2097152</currentMemory>
> > > <vcpu>1</vcpu>
> > > <os>
> > > <type arch="x86_64" machine="pc">hvm</type>
> > > <boot dev="hd"/>
> > > </os>
> > > <devices>
> > > <emulator>/usr/libexec/qemu-kvm</emulator>
> > > </devices>
> > > </domain>
> > >
> > > ➜ ~ virsh define /tmp/usb-pc.xml && virsh dumpxml USB|grep usb
> > > Domain 'USB' defined from /tmp/usb-pc.xml
> > >
> > > <controller type='usb' index='0' model='piix3-uhci'>
> > >
> > > And the default usb controller for q35 has been added since:
> > > ed2049ea19 qemu: auto-add generic xhci rather than NEC xhci to Q35
> > domains
> > >
> > > As I know, pc machine supports qemu-xhci as well. Morever, the
> > > performance of qemu-xhci is better than piix3-uhci. So why not update the
> > > default usb controller of pc machine type to qemu-xhci? I think we can
> > > improve it here.
> >
> > A qemu-xhci controller can be added to any x86 machien type regardless
> > of the default, and most mgmt apps will do exactly that.
> >
>
> Does that mean, the default USB controller for a specific x86 machine type
> does NOT matter?
> And leave the default USB controller to up-layer mgmt apps?
Yes, that's our general view for most defaults in fact. There's no
single perfect defaults, so we let mgmt apps select thigns explicitly
With 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 :|
More information about the libvirt-users
mailing list