The default USB controller of pc machine type

Han Han hhan at redhat.com
Wed Jul 13 11:00:17 UTC 2022


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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/libvirt-users/attachments/20220713/48e4c2f0/attachment.htm>


More information about the libvirt-users mailing list