Hide Forgot
libvirt currently defaults to pci-ohci on ppc64. However, this USB controller has some issues (see Bug 1212275) that are unlikely to ever be fixed; moreover nec-xhci is USB3 as opposed to USB2, which should give better performance anyway. QEMU has already started using nec-xhci (see Bug 1284333) because of these reasons. libvirt, on the other hand, can't change its default due to the fact that up until very recently the USB controller model was not formatted in the guest configuration. virt-install and related tools should use nec-xhci by default for new ppc64 guests. Note that a partially overlapping upstream RFE (Bug 1271410) has already been filed a while ago; while implementing that RFE would solve this bug as well, the scope for this bug is much more narrow.
Moving this bug to Libvirt because Libvirt is the one who set's the default and in fact it can be fixed in Libvirt that only new domain will use nex-usb-xhci model.
Upstream patch posted: https://www.redhat.com/archives/libvir-list/2017-March/msg00057.html
Upstream commit: commit fe728cb4e8f13aec03dd263d9641dc0623f6a1c5 Author: Pavel Hrdina <phrdina> Date: Wed Mar 1 19:58:22 2017 +0100 qemu_domain: use correct default USB controller on ppc64
Test package: libvirt-3.2.0-4.el7.ppc64le qemu-kvm-rhev-2.9.0-2.el7.ppc64le Configure a guest XML with below usb controller setting without model specified. <controller type='usb' index='0'/> Save and re-check the XML, below model 'qemu-xhci' is created as default. <controller type='usb' index='0' model='qemu-xhci'> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/> </controller> Start the guest and check qemu command line. qemu 33043 1 92 06:23 ? 00:00:13 /usr/libexec/qemu-kvm -name guest=vm1,debug-threads=on -S ... ***-device qemu-xhci,id=usb,bus=pci.0,addr=0x2 *** [root@localhost ~]# lspci -vv 00:02.0 USB controller: Red Hat, Inc. Device 000d (rev 01) (prog-if 30 [XHCI]) Subsystem: Red Hat, Inc Device 1100 Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx+ Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 0 Interrupt: pin A routed to IRQ 17 Region 0: Memory at 210000000000 (64-bit, non-prefetchable) [size=16K] Capabilities: [90] MSI-X: Enable+ Count=16 Masked- Vector table: BAR=0 offset=00003000 PBA: BAR=0 offset=00003800 Kernel driver in use: xhci_hcd
Above test result is consistent to the expectation of BZ1438682 (comment 7) which is more preferable.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHEA-2017:1846